您的位置:首页 > 其它

ADO.NET 快速入门(十三):使用 OLE DB 检索数据

2013-11-28 23:01 555 查看

OleDbDataReader 类提供了一种从数据源读取数据记录只进流的方法。如果想使用 SQL Server 7.0 或者更高版本,请参考文章:使用 SQL Server 检索数据


OleDbCommand 调用 ExecuteReader 方法创建 OleDbReader,不通过直接使用构造器创建。当 OleDbDataReader 正在使用时,关联的 OleDbConnection 处于对 OleDbDataReader 服务挂起状态 。在这个状态下,除非关闭 OleDbConnection 的连接,没有其他操作可以执行。在调用 OleDbDataReader 的 Close 方法之前,会一直保持这种状态。

OldDbDataReader 提供一种从 OleDb 数据源读取数据记录只进流的手段。更多交互操作,例如:Scrolling、Filtering、Navigating、Romoting,等等,请使用 DataSet。

这个例子,利用 OLE DB .NET 数据提供程序,创建了到 Northwind 库的 OleDbConnection 连接。OleDbCommand 从 Employee 表选择数据项,然后利用 OleDbCommand 的 ExecuteReader 方法执行查询。命令的结果传递给 OleDbDataReader。

示例1:

OleDbDataReader myDataReader = null;
OleDbConnection myConnection = new OleDbConnection("server=(local);Integrated Security=SSPI;database=northwind;provider=SQLOLEDB");
OleDbCommand myCommand = new OleDbCommand("SELECT EmployeeID, LastName, FirstName, Title, ReportsTo FROM Employees", myConnection);

myConnection.Open();
myDataReader = myCommand.ExecuteReader();


这个例子,使用 OleDbDataReader 的 Read 方法读取数据并且把数据项输出到控制台程序。

示例2:

while (myDataReader.Read())
{
Console.Write(myDataReader.GetInt32(0) + "\t");
Console.WriteLine(myDataReader.GetString(2) + " " + myDataReader.GetString(1) + "\t");
Console.WriteLine(myDataReader.GetString(3) + "\t");

if (myDataReader.IsDBNull(4))
Console.WriteLine("N/A\n");
else
Console.WriteLine(myDataReader.GetInt32(4) + "\n");
}


最后,这个例子关闭 OleDbDataReader,然后是 OleDbConnection。

示例3:

// 当读取完成时,调用 Close 方法
myDataReader.Close();

// 关闭连接
myConnection.Close();


总结:
1、OleDbDataReader 用于快速地从数据源读取数据记录只进流。
2、请记住,关闭 OleDbReader,然后是 OleDbConnection。
3、请记住,如果 OleDbDataReader 正在使用,关联的 OleDbConnection 处于对 OleDbDataReader 服务挂起状态。在关闭 OleDbConnection 连接以前,没有任何与之的操作可以执行。

原文链接:
http://quickstarts.asp.net/QuickStartv20/howto/doc/adoplus/adodtreader.aspx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐