2020国产成人精品视频,性做久久久久久久久,亚洲国产成人久久综合一区,亚洲影院天堂中文av色

分享

8.4.1 填充DataSet

 悟靜 2011-11-07

8.4.1 填充DataSet

在下面的示例中,你將會看到如何從SQL Server表中獲得數(shù)據(jù)并用它填充DataSet中的DataTable對象。你還將看到如何通過編程循環(huán)遍歷記錄并逐一顯示。所有的邏輯代碼都放在Page.Load事件處理程序中。

首先,代碼創(chuàng)建連接并定義SQL查詢的文本:

 
下一步是創(chuàng)建用于讀取雇員列表的SqlDataAdapter類的實(shí)例。雖然每個DataAdapter對象都支持4個Command對象,但是只有一個(SelectCommand)是填充DataSet所必需的。為了簡單起見,可以創(chuàng)建需要的Command對象,然后把它賦給DataAdapter.SelectCommand屬性。在DataAdapter的構(gòu)造函數(shù)中只要提供Connection對象和查詢語句就可以了,如下所示:
 


現(xiàn)在你要做的是創(chuàng)建一個新的空DataSet對象,然后利用DataAdapter.Fill()方法執(zhí)行查詢并把結(jié)果放到DataSet新建的DataTable中。此時,還可以指定表的名稱。如果不指定,會自動定義一個默認(rèn)名(如Table)。在下面的示例中,盡管不是必需的,但還是使用了和數(shù)據(jù)庫中源表一致的名字來命名表:


注意這段代碼并沒有調(diào)用Connection.Open()方法來打開連接。相反,當(dāng)調(diào)用Fill()方法時,DataAdapter自動打開和關(guān)閉相關(guān)聯(lián)的連接。所以,唯一需要考慮進(jìn)行異常處理的一行代碼是DataAdapter.Fill()。當(dāng)然,也可以選擇手工打開和關(guān)閉連接。調(diào)用Fill()方法時,如果連接已經(jīng)打開,DataAdapter將使用該連接并且執(zhí)行完畢后也不會自動關(guān)閉它。當(dāng)需要在數(shù)據(jù)源上執(zhí)行一系列快速連續(xù)的操作時,這樣做很有效,它不會因?yàn)橹貜?fù)地打開和關(guān)閉連接從而帶來額外的開銷。

最后一步是顯示DataSet的內(nèi)容。一種快捷方式是利用前一章所講的技術(shù)來檢索每條記錄并構(gòu)建一個HTML字符串。下面的代碼循環(huán)遍歷DataTable的所有DataRow對象并在列表中顯示每個記錄的字段值:

 

當(dāng)然,ASP.NET模型可以把你從編寫原始的HTML代碼中解脫出來。更好的辦法是把DataSet中的數(shù)據(jù)綁定到一個數(shù)據(jù)綁定控件上,它將基于模板自動生成所需的HTML。第9章將會詳細(xì)介紹數(shù)據(jù)綁定控件。

注解

將DataSet和控件綁定時,視圖狀態(tài)中并沒有保存數(shù)據(jù)對象。數(shù)據(jù)控件只保存足夠當(dāng)前顯示的信息。如果要在多次回發(fā)間和DataSet交互,就必須以手工方式把DataSet保存到視圖狀態(tài)(這會顯著增加頁面的大?。┗蛘邥捇蚓彺鎸ο笾小?BR>

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多