|
SqlCommand.ExecuteReader() 方法
將 CommandText 發(fā)送到 Connection 并生成一個(gè) SqlDataReader。 命名空間:System.Data.SqlClient
程序集:System.Data(在 system.data.dll 中) 語(yǔ)法:
public SqlDataReader ExecuteReader ()
返回值一個(gè) SqlDataReader 對(duì)象。
異常
備注
當(dāng) CommandType 屬性設(shè)置為 StoredProcedure 時(shí),CommandText 屬性應(yīng)設(shè)置為
存儲(chǔ)過(guò)程的名稱。當(dāng)調(diào)用 ExecuteReader 時(shí),該命令將執(zhí)行此存儲(chǔ)過(guò)程。 如果使用 SQL Server 2005 之前的 SQL Server 版本,在使用 SqlDataReader 時(shí),
關(guān)聯(lián)的 SqlConnection 將忙于為 SqlDataReader 服務(wù)。當(dāng)處于此狀態(tài)時(shí),除了關(guān)閉 SqlConnection 外,不能對(duì)其執(zhí)行其他任何操作。除非調(diào)用 SqlDataReader 的
Close 方法,否則會(huì)一直處于此狀態(tài)。從 SQL Server 2005 開(kāi)始,多活動(dòng)結(jié)果
集 (MARS) 功能允許多個(gè)操作使用同一連接。
如果您使用 ExecuteReader 或 BeginExecuteReader 訪問(wèn) XML 數(shù)據(jù),
SQL Server 將以多行(每行 2,033 個(gè)字符)方式返回長(zhǎng)度大于 2,033 個(gè)字符的所有 XML 結(jié)果。若要避免發(fā)生此行為,請(qǐng)使用 ExecuteXmlReader 或 BeginExecuteXmlReader
讀取 FOR XML 查詢。有關(guān)更多信息,請(qǐng)參見(jiàn)位于
http://support.microsoft.com/default.aspx?ln=zh-cn. 上的 Microsoft 知識(shí)庫(kù)中的
文章 Q310378“PRB: XML Data Is Truncated When You Use SqlDataReader”(PRB:使
用 SqlDataReader 時(shí) XML 數(shù)據(jù)被截?cái)啵?/div>
示例
下面的示例創(chuàng)建一個(gè) SqlCommand,然后通過(guò)傳遞兩個(gè)字符串來(lái)執(zhí)行它,其中一
個(gè)字符串是 Transact-SQL SELECT 語(yǔ)句,另一個(gè)字符串用于連接至數(shù)據(jù)源。 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])); } } } |
|
|
來(lái)自: 寒木蕭條 > 《SqlServer》