2012/02/16

SqlCommand 類別

http://msdn.microsoft.com/zh-tw/library/system.data.sqlclient.sqlcommand(v=vs.80).aspx


BeginExecuteNonQuery
啟始這個 SqlCommand 所描述之 Transact-SQL 陳述式或預存程序的非同步
 (Asynchronous) 執行,通常執行命令,例如 INSERT、DELETE、UPDATE 和 SET 陳述式
。每次呼叫 BeginExecuteNonQuery 都必須搭配呼叫完成作業 (通常在其他執行緒上) 的
 EndExecuteNonQuery。


BeginExecuteReader
啟始這個 SqlCommand 所描述之 Transact-SQL 陳述式或預存程序的非同步執行,並從伺
服器擷取一或多個結果集。每次呼叫 BeginExecuteReader 都必須搭配呼叫完成作業 (通
常在其他執行緒上) 的 EndExecuteReader。

BeginExecuteXmlReader
啟始這個 SqlCommand 所描述之 Transact-SQL 陳述式或預存程序的非同步執行。每次呼
叫 BeginExecuteXmlReader 都必須搭配呼叫完成作業 (通常在其他執行緒上) 的
 EndExecuteXmlReader,並傳回 XmlReader 物件。


ExecuteReader
執行傳回資料列的命令。為了增進效能,ExecuteReader 會使用 Transact-SQL
sp_executesql 系統預存程序來叫用 (Invoke) 命令。因此,如果 ExecuteReader 用於
執行 Transact-SQL SET 陳述式之類的命令,則可能不會產生所要的效果。


ExecuteNonQuery
執行命令,例如 Transact-SQL INSERT、DELELE、UPDATE 和 SET 陳述式。


ExecuteScalar
從資料庫中擷取單一值 (如彙總值)。


ExecuteXmlReader
將 CommandText 傳送至 Connection,並建置 XmlReader 物件。


private static void ReadOrderData(string connectionString)
{
    string queryString =
        "SELECT OrderID, CustomerID FROM dbo.Orders;";
    using (SqlConnection connection = new SqlConnection(
               connectionString))
    {
        SqlCommand command = new SqlCommand(
            queryString, connection);
        connection.Open();
        SqlDataReader reader = command.ExecuteReader();
        try
        {
            while (reader.Read())
            {
                Console.WriteLine(String.Format("{0}, {1}",
                    reader[0], reader[1]));
            }
        }
        finally
        {
            // Always call Close when done reading.
            reader.Close();
        }
    }
}

--
※ 發信站: 批踢踢兔(ptt2.cc)
◆ From: 1.160.24.36

沒有留言:

張貼留言