ADO.NET 快速入門(十三):使用 OLE DB 檢索數據

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();

 

總結:
一、OleDbDataReader 用於快速地從數據源讀取數據記錄只進流。
二、請記住,關閉 OleDbReader,而後是 OleDbConnection。
三、請記住,若是 OleDbDataReader 正在使用,關聯的 OleDbConnection 處於對 OleDbDataReader 服務掛起狀態。在關閉 OleDbConnection 鏈接之前,沒有任何與之的操做能夠執行。

 

原文連接:
相關文章
相關標籤/搜索