ASP.NET資料庫編程 (3)
來源:互聯網
上載者:User
asp.net|編程|資料|資料庫 顯示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則是最完整的Data Access Objects。通過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應用:報表、購物推車、產品列表、查詢結果顯示、導覽功能表等等。