8.4.1 填充DataSet
在下面的示例中,你將會(huì )看到如何從SQL Server表中獲得數據并用它填充DataSet中的DataTable對象。你還將看到如何通過(guò)編程循環(huán)遍歷記錄并逐一顯示。所有的邏輯代碼都放在Page.Load事件處理程序中。
首先,代碼創(chuàng )建連接并定義SQL查詢(xún)的文本:
![]() |
![]() |
現在你要做的是創(chuàng )建一個(gè)新的空DataSet對象,然后利用DataAdapter.Fill()方法執行查詢(xún)并把結果放到DataSet新建的DataTable中。此時(shí),還可以指定表的名稱(chēng)。如果不指定,會(huì )自動(dòng)定義一個(gè)默認名(如Table)。在下面的示例中,盡管不是必需的,但還是使用了和數據庫中源表一致的名字來(lái)命名表:
![]() |
最后一步是顯示DataSet的內容。一種快捷方式是利用前一章所講的技術(shù)來(lái)檢索每條記錄并構建一個(gè)HTML字符串。下面的代碼循環(huán)遍歷DataTable的所有DataRow對象并在列表中顯示每個(gè)記錄的字段值:
![]() |
當然,ASP.NET模型可以把你從編寫(xiě)原始的HTML代碼中解脫出來(lái)。更好的辦法是把DataSet中的數據綁定到一個(gè)數據綁定控件上,它將基于模板自動(dòng)生成所需的HTML。第9章將會(huì )詳細介紹數據綁定控件。
注解
將DataSet和控件綁定時(shí),視圖狀態(tài)中并沒(méi)有保存數據對象。數據控件只保存足夠當前顯示的信息。如果要在多次回發(fā)間和DataSet交互,就必須以手工方式把DataSet保存到視圖狀態(tài)(這會(huì )顯著(zhù)增加頁(yè)面的大?。┗蛘邥?huì )話(huà)或緩存對象中。
聯(lián)系客服