对于DataTable对象与ADO中的Recordset对象非常相似,DataTable对象允许通过行和列的集合查看数据,或者可以通过调用DataAdapter对象的Fill方法将查询结果存储在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);
在从数据库中读出数据并将其存储于DataTable对象之后,该数据即从服务器断开连接。然后就可以查看DataTable对象的内容,而不会在ADO.NET和数据库之间产生任何网络通信流量。由于采用脱机方式处理数据,所以不再需要保持与数据库之间的活动连接。
但请切记:运行查询之后,将无法看到其他用户对数据库所做出的修改。DataTable类包含了其他非连接对象的集合,稍后将对此进行说明。可以通过DataTable的Rows属性访问其内容,这一操作会返回DataRow对象的一个集合。#t#
如果希望查看DataTable的结构,可以使用其Columns属性来获取DataColumn对象的集合。DataTable还允许为该类中存储的数据定义一些约束,如主键。可以通过DataTable对象的Constraints属性访问这些约束。