SqlCommand.ExecuteReader 方法

來源:互聯網
上載者:User
SqlCommand.ExecuteReader 方法

將 CommandText
發送到 Connection
並產生一個 SqlDataReader。

 重載列表

名稱 說明
SqlCommand.ExecuteReader
()
將 CommandText 發送到 Connection 並產生一個 SqlDataReader。

由 .NET Compact Framework 支援。

SqlCommand.ExecuteReader
(CommandBehavior)
將 CommandText 發送到 Connection,並使用 CommandBehavior
值之一產生一個 SqlDataReader。

由 .NET Compact Framework 支援。 

SqlCommand.ExecuteReader 方法 ()

將 CommandText
發送到 Connection
並產生一個 SqlDataReader。

命名空間:System.Data.SqlClient
程式集:System.Data(在 system.data.dll
中)

 文法

C#
public SqlDataReader ExecuteReader ()
C++
public:SqlDataReader^ ExecuteReader ()
J#
public SqlDataReader ExecuteReader ()
JScript
public function ExecuteReader () : SqlDataReader

傳回值

一個 SqlDataReader 對象。  異常

異常類型 條件

Exception

未能執行此命令。

SqlException

在對鎖定的行執行該命令期間發生了異常。如果使用的是 Microsoft .NET Framework 1.0 版,將不會產生該異常。

 備忘

當 CommandType
屬性設定為 StoredProcedure 時,CommandText 屬性應設定為預存程序的名稱。當調用
ExecuteReader 時,該命令將執行此預存程序。

如果使用 SQL Server 2005 之前的 SQL Server 版本,在使用 SqlDataReader 時,關聯的 SqlConnection
將忙於為 SqlDataReader 服務。當處於此狀態時,除了關閉 SqlConnection
外,不能對其執行其他任何操作。除非調用 SqlDataReader 的 Close
方法,否則會一直處於此狀態。從 SQL Server 2005 開始,多活動結果集 (MARS) 功能允許多個操作使用同一串連。

如果您使用 ExecuteReader 或 BeginExecuteReader
訪問 XML 資料,SQL Server 將以多行(每行 2,033 個字元)方式返回長度大於 2,033 個字元的所有 XML
結果。若要避免發生此行為,請使用 ExecuteXmlReader
或 BeginExecuteXmlReader
讀取 FOR XML 查詢。有關更多資訊,請參見位於 http://support.microsoft.com/default.aspx?ln=zh-cn.
上的 Microsoft 知識庫中的文章 Q310378“PRB: XML Data Is Truncated When You Use
SqlDataReader”(PRB:使用 SqlDataReader 時 XML 資料被截斷)。

 樣本

下面的樣本建立一個 SqlCommand,然後通過傳遞兩個字串來執行它,其中一個字串是
Transact-SQL SELECT 語句,另一個字串用於串連至資料來源。

C#

複製代碼
private static void CreateCommand(string queryString,string connectionString){using (SqlConnection connection = new SqlConnection(connectionString)){connection.Open();SqlCommand command = new SqlCommand(queryString, connection);SqlDataReader reader = command.ExecuteReader();while (reader.Read()){Console.WriteLine(String.Format("{0}", reader[0]));}} 

SqlCommand.ExecuteReader 方法 (CommandBehavior)

將 CommandText
發送到 Connection,並使用
CommandBehavior 值之一產生一個 SqlDataReader。

命名空間:System.Data.SqlClient
程式集:System.Data(在 system.data.dll
中)

 文法

C#
public SqlDataReader ExecuteReader (CommandBehavior behavior)
參數
behavior

CommandBehavior
值之一。

傳回值

一個 SqlDataReader 對象。  備忘

當 CommandType
屬性設定為 StoredProcedure 時,CommandText 屬性應設定為預存程序的名稱。當調用 ExecuteReader
時,該命令將執行此預存程序。

SqlDataReader 支援一種特殊的模式,在此模式下可以有效地讀取較大的二進位值。有關更多資訊,請參見
CommandBehaviorSequentialAccess 設定。

如果使用 SQL Server 2005 之前的 SQL Server 版本,在使用 SqlDataReader 時,關聯的 SqlConnection
將忙於為 SqlDataReader 服務。當處於此狀態時,除了關閉 SqlConnection
外,不能對其執行其他任何操作。在調用 SqlDataReader.Close
方法之前一直如此。如果建立了 SqlDataReader 並將 CommandBehavior 設定為
CloseConnection,則關閉 SqlDataReader 會自動關閉此串連。從 SQL Server 2005
開始,多活動結果集 (MARS) 功能允許多個操作使用同一串連。

如果您使用 ExecuteReader 或 BeginExecuteReader
訪問 XML 資料,SQL Server 將以多行(每行 2,033 個字元)方式返回長度大於 2,033 個字元的所有 XML
結果。若要避免發生此行為,請使用 ExecuteXmlReader
或 BeginExecuteXmlReader
讀取 FOR XML 查詢。有關更多資訊,請參見位於 http://support.microsoft.com/default.aspx?ln=zh-cn.
上的 Microsoft 知識庫中的文章 Q310378“PRB: XML Data Is Truncated When You Use
SqlDataReader”(PRB:使用 SqlDataReader 時 XML 資料被截斷)。

 樣本

下面的樣本建立一個 SqlCommand,然後通過傳遞兩個字串來執行它,其中一個字串是
Transact-SQL SELECT 語句,另一個字串用於串連至資料來源。CommandBehavior 設定為 CloseConnection。

C#

複製代碼
private static void CreateCommand(string queryString,string connectionString){using (SqlConnection connection = new SqlConnection(connectionString)){SqlCommand command = new SqlCommand(queryString, connection);connection.Open();SqlDataReader reader =command.ExecuteReader(CommandBehavior.CloseConnection);while (reader.Read()){Console.WriteLine(String.Format("{0}", reader[0]));}} 

 

聯繫我們

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

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

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.