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應用:報表、購物推車、產品列表、查詢結果顯示、導覽功能表等等。

相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。