使用ADO.NET怎樣從SQL Server 中檢索資料

來源:互聯網
上載者:User
ado|server|資料 此樣本闡釋如何使用 SqlDataReader 類從 SQL Server 讀取資料。此類提供了一種從資料來源讀取只進資料記錄流的方法。如果要使用具有 OLE DB 介面或 SQL Server 7.0 以前的 SQL Server 版本的資料庫,請參閱從 OLE DB 檢索資料。 SqlDataReader 是通過調用 SqlCommand 的 ExecuteReader 方法來建立的,而不是通過直接使用建構函式建立的。當 SqlDataReader 在使用中時,相關聯的 SqlConnection 將忙於為 SqlDataReader 提供服務。在這種情況下,除了關閉 SqlConnection 之外,無法在 SqlConnection 上執行任何其他動作。在調用 SqlDataReader 的 Close 方法之前,這種情況一直存在。 SqlDataReader 提供一種從 SQL Server 資料來源讀取只進資料記錄流的方法。要進行互動性更強的操作,如滾動、篩選、定位、遠端等,請使用資料集。 此樣本建立到 Northwind 資料庫的 SqlConnection。然後使用 SqlCommand ExecuteReader 方法執行從僱員 (Employee) 表中選擇項的 SqlCommand。此命令的結果將傳遞給 SqlDataReader。 C# : SqlDataReader myDataReader = null; SqlConnection mySqlConnection = new SqlConnection("server=(local)\VSdotNET;Trusted_Connection=yes;database=northwind"); SqlCommand mySqlCommand = new SqlCommand("SELECT EmployeeID, LastName, FirstName, Title, ReportsTo FROM Employees", mySqlConnection); ... mySqlConnection.Open(); myDataReader = mySqlCommand.ExecuteReader(CommandBehavior.CloseConnection); 此樣本使用 SqlDataReader Read 方法讀取全部資料,然後將資料元素寫出到控制台。 C# : while (myDataReader.Read()) { Console.Write(myDataReader.GetInt32(0) + "\t"); Console.Write(myDataReader.GetString(2) + " " + myDataReader.GetString(1) + "\t"); Console.Write(myDataReader.GetString(3) + "\t"); if (myDataReader.IsDBNull(4)) Console.Write("N/A\n"); else Console.Write(myDataReader.GetInt32(4) + "\n"); } 最後,該樣本先關閉 SqlDataReader,然後再關閉 SqlConnection。 C# : // Always call Close when done reading. myDataReader.Close(); // Close the connection when done with it. mySqlConnection.Close(); 摘要 1、SqlDataReader 用於從 SQL Server 讀取只進資料記錄流。 2、請記住先關閉 SqlDataReader,然後再關閉 SqlConnection。 3、每次只能在 SqlConnection 上開啟一個 SqlDataReader。如果 SqlDataReader 在使用中,相關聯的 SqlConnection 將忙於為 SqlDataReader 提供服務。在這種情況下,除了關閉 SqlConnection 之外,無法在 SqlConnection 上執行任何其他動作。


相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。