顯示Dataset
前面我們已經把數據準備好。下面我們來看看如何顯示Dataset中的數據。在ASP.NET中,顯示DataSet的常用控件是DataGrid,它是ASP.NET中的一個HTML控件,可以很好地表現為一個表格,表格的外觀可以任意控制,甚至可以分頁顯示。這里我們只需要簡單地使用它:
<asp:DataGrid id="DataGridName" runat="server"/>
剩下的任務就是把Dataset綁定到這個DataGrid,綁定是ASP.NET的重要概念,我們將另文講解。一般來說,你需要把一個Dataview綁定到DataGrid,而不是直接綁定Dataset。好在Dataset有一個缺省的Dataview,下面我們就把它和DataGrid綁定: MyFirstDataGrid.DataSource = _ objDataset.Tables("Author Information").DefaultView MyFirstDataGrid.DataBind()
Dataset的用法 Dataset 并不是Recordset的簡單翻版。從一定的意義上來說,DataView更類似于Recordset。如果說DataReader是訪問數據的最容易的方式,那么Dataset則是最完整的數據訪問對象。通過Dataset,你可以操作已有的數據,還可以通過程序創建Dataset,加入Table到Dataset,并建立這些Table之間的關系。
使用Dataset的幾個步驟
第1步,創建到數據源的連接:
SQLConnection con =new SQLConnection("server=localhost;uid=sa;pwd=;database=pubs");
第2步,創建DataSetCommand對象,指定一個存儲過程的名字或者一個SQL語句,指定數據鏈路;
SQLDataSetCommand cmd =new SQLDataSetCommand("SELECT * FROM Authors", con);
第3步,創建一個Dataset對象
DataSet ds = new DataSet();
第4步,調用DataSetCommand的FillData方法,為Dataset填充數據。注意:數據鏈路沒有必要是打開的。如果數據鏈路是關閉狀態,FillData函數會打開它,并在FillData之后關閉數據鏈路。如果數據鏈路本來就是打開的,在FillData之后,數據鏈路依然保持打開狀態。
int iRowCount = cmd.FillDataSet(ds, "Authors");
第5步,操作數據。由于FillData返回了記錄的個數,我們可以構造一個循環,來操縱Dataset中的數據。
for(int i=0; i< iRowCount; i++){ DataRow dr = ds.Tables[0].Rows[i]; Console.WriteLine(dr["au_lname"]); }
數據綁定技術
Repeater、DataList 、DataGrid控件是System.Web.UI.WebControls名空間(Namespace)里幾個相關的頁面組件。這些控件把綁定到它們的數據通過HTML表現出來,它們又被成為"列表綁定控件"(list-bound controls)。
和其他Web組件一樣,這些組件不僅提供了一個一致的編程模型,而且封裝了與瀏覽器版本相關的HTML邏輯。這種特點使得程序員可以針對這個對象模型編程,而無須考慮各種瀏覽器版本的差別和不一致性。
這三個控件具有把它們的相關數據"翻譯"成各種外觀的能力。這些外觀包括表格、多列列表、或者任何的HTML流。同時,它們也允許你創建任意的顯示效果。除此之外,它們還封裝了處理提交數據、狀態管理、事件激發的功能。最后,它們還提供了各種級別的標準操作,包括選擇、編輯、分頁、排序等等。利用這些控件,你可以輕松地完成如下的Web應用:報表、購物推車、產品列表、查詢結果顯示、導航菜單等等。
|