講述ADO中DataTable對象進行說明
對于DataTable對象與ADO中的Recordset對象非常相似,DataTable對象允許通過行和列的集合查看數(shù)據(jù),或者可以通過調(diào)用DataAdapter對象的Fill方法將查詢結(jié)果存儲在DataTable中,下面進行代碼說明:
- Dim strConn, strSQL As String
- strConn = "Data Source=.\SQLExpress;" & _
- "Initial Catalog=Northwind;Integrated Security=True;"
- strSQL = "SELECT CustomerID, CompanyName FROM Customers"
- Dim da As New SqlDataAdapter(strSQL, strConn)
- Dim tbl As New DataTable()
- da.Fill(tbl)
- Visual C#
- string strConn, strSQL;
- strConn = @"Data Source=.\SQLExpress;" +
- "Initial Catalog=Northwind;Integrated Security=True;";
- strSQL = "SELECT CustomerID, CompanyName FROM Customers";
- SqlDataAdapter da = new SqlDataAdapter(strSQL, strConn);
- DataTable tbl = new DataTable();
- da.Fill(tbl);
在從數(shù)據(jù)庫中讀出數(shù)據(jù)并將其存儲于DataTable對象之后,該數(shù)據(jù)即從服務(wù)器斷開連接。然后就可以查看DataTable對象的內(nèi)容,而不會在ADO.NET和數(shù)據(jù)庫之間產(chǎn)生任何網(wǎng)絡(luò)通信流量。由于采用脫機方式處理數(shù)據(jù),所以不再需要保持與數(shù)據(jù)庫之間的活動連接。
但請切記:運行查詢之后,將無法看到其他用戶對數(shù)據(jù)庫所做出的修改。DataTable類包含了其他非連接對象的集合,稍后將對此進行說明??梢酝ㄟ^DataTable的Rows屬性訪問其內(nèi)容,這一操作會返回DataRow對象的一個集合。#t#
如果希望查看DataTable的結(jié)構(gòu),可以使用其Columns屬性來獲取DataColumn對象的集合。DataTable還允許為該類中存儲的數(shù)據(jù)定義一些約束,如主鍵。可以通過DataTable對象的Constraints屬性訪問這些約束。