程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#基礎知識 >> 用C#和ADO.NET建立一個數據綁定網格

用C#和ADO.NET建立一個數據綁定網格

編輯:C#基礎知識
  數據訪問是任何應用程序的基礎。在本文中,我將說明如何用C#和ADO.NET訪問基於SQL Server的數據,以及如何在一個數據綁定的網格控件中顯示數據。我用一個簡單的C#應用程序為例。

  ADO.NET結構

  使用ADO.NET不需要維持一個連接。另外,在ADO.NET中,只需用幾行代碼,你就可以從一個數據源轉到另一個數據源。

  ADO.NET的核心對象有Command, Connection, DataReader和DataAdapter。它們是.NET中所有數據操作的基礎。

  核心ADO.NET命名空間

  System.Data:是其它命名空間的基礎,並補充DataTable, DataColumn, DataView和Constraints對象。

  System.Data.Common:定義由各種數據提供者共享的普通對象,包括DataAdapter, DataColumnMapping和DataTableMapping。它為數據提供者所用,包含用於訪問數據源的集合。

  System.Data.OleDb:定義你用來連接到數據源並修改各種數據源中的數據的對象。它作為普通數據提供者而編寫,由包含SQL Server、微軟Oracle OLE DB Provider和微軟Jet 4.0 Provider驅動器的.NET Framework提供執行。當你需要連接到許多不同的數據源時,就會用到這個命名空間,並且你希望達到比提供者更佳的性能。

  System.Data.SqlClient:直接利用SQL Server應用程序接口,提供比更為普通的System.Data.OleDb更佳的性能。這是一個專門為SQL Server 7.0及以上版本建立的提供者命名空間。

  System.Data.SqlTypes:專門為SQL Server的數據類型提供類。這個命名空間專為SQL Server而設計,並提供比其它命名空間更佳的性能,但只應用於SQL Server後端。

  System.Data.Odbc:處理所有兼容ODBC驅動器。只有.NET Framework 1.1支持這個命名空間,所以安裝新版Framework就能獲得它。

  數據網格實例

  給表格dataGrid1增加一個數據網格,如圖1所示。為了讓列表A中的樣本代碼能夠運行,需要利用下面的命名空間:


  using System.Data;

  using System.Data.OleDb;

  列表A

  using System.Data;
  using System.Data.OleDb;

  private void Form1_Load(object sender, System.EventArgs e)
  {
   string strConn, strSQL;
   strConn = "Provider=Microsoft.JET.OLEDB.4.0;"+"data source=" + "C:\\DataAccess\\Northwind.mdb";strSQL = "SELECT CustomerID, CompanyName, ContactName, ContactTitle, " ;
   strSQL = strSQL + "Address, City, Country FROM Customers";
   OleDbDataAdapter da = newOleDbDataAdapter(strSQL, strConn);
   DataSet ds = newDataSet();
   da.Fill(ds, "Customers");
   dataGrid1.DataMember = "Customers";
   dataGrid1.DataSource=ds;
  }

  上面的代碼定義了兩個變量:strConn和strSQL。StrConn使用OLEDB設定利用JET數據庫所需的連接字符串,並指向當地計算機的Northwind.mdb數據庫位置。StrSQL指定我想在Access數據庫(Northwind.mdb)上運行的查詢。

  接下來,我定義OleDBDataAdapter對象da並將它提交給查詢語句(strSQL)和連接字符串(strConn)。注意,我在例子中沒有建立一個連接(Connection)對象。

  然後,我定義數據組ds,它被用來從網格控件中的用戶表(Customers)中獲得實際數據。我使數據網格控件dataGrid1的DataMember特性指向到我獲得數據的表格,並將控件DataSource的特性設定給DataSetds。(DataMember特性獲得/設定DataSource中的一個綁定控件的表格,DataSource特性獲得/設定用來安裝控件的數據源。)當你運行列表A中的代碼時,結果如圖2所示。


  我顯示C:\\DataAccess\\Northwind.mdb數據庫中的數據,只看到我在選擇語句中選中的欄。如果選擇的列數或欄數超過頁面的大小,網格控件會自動顯示滾動條。

  現在你了解了在C#應用程序中使用ADO.NET,以及建立一個數據網格控件顯示查詢返回數據的基本原理了。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved