IDbCommand 介面
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
代表一個在連接資料來源時執行的 SQL 語句,並由存取關聯式資料庫的 .NET 資料提供者實作。
public interface class IDbCommand : IDisposable
public interface IDbCommand : IDisposable
type IDbCommand = interface
interface IDisposable
Public Interface IDbCommand
Implements IDisposable
- 衍生
- 實作
範例
以下範例建立了 SqlConnection導出類別 、 、 SqlCommand和 SqlDataReader的實例。 範例會讀取資料,並將其寫入主控台。 最後,範例會封 SqlDataReader閉 ,接著 SqlConnection。
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();
using(SqlDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
Console.WriteLine(String.Format("{0}, {1}",
reader[0], reader[1]));
}
}
}
}
Public Sub ReadOrderData(ByVal connectionString As String)
Dim queryString As String = _
"SELECT OrderID, CustomerID FROM dbo.Orders;"
Using connection As New SqlConnection(connectionString)
Dim command As New SqlCommand(queryString, connection)
connection.Open()
Dim reader As SqlDataReader = command.ExecuteReader()
Try
While reader.Read()
Console.WriteLine(String.Format("{0}, {1}", _
reader(0), reader(1)))
End While
Finally
' Always call Close when done reading.
reader.Close()
End Try
End Using
End Sub
備註
此 IDbCommand 介面允許繼承類別實作 Command 類別,該類別代表在資料來源執行的 SQL 陳述式。 欲了解更多關於指令類別的資訊,請參閱 執行指令。
應用程式不會直接建立介面的實例 IDbCommand ,而是建立一個實作該 IDbCommand 介面的類別實例。
實作 IDbCommand 的類別必須實作所有成員,並通常定義額外成員以增加提供者專屬的功能。 例如,介面IDbCommand定義了方法。ExecuteNonQuery 而類別 SqlCommand 繼承此方法,並定義該 ExecuteXmlReader 方法。
給實施者的注意事項
為了促進 .NET Framework 資料提供者之間的一致性,將繼承類別命名為 , PrvClassname 其中 Prv 是特定 .NET Framework 資料提供者命名空間中所有類別所擁有的統一前綴。 例如,Sql是命名空間中SqlCommand類別的前綴System.Data.SqlClient。
當你從 IDbCommand 介面繼承時,應該實作以下構造子:
| 項目 | 描述 |
|---|---|
| PrvCommand() | 初始化 PrvCommand 類別的新實例。 |
| PrvCommand(string cmdText) | 以查詢文字初始化 PrvCommand 類別的新實例。 |
| PrvCommand(string cmdText, PrvConnection connection) | 初始化一個新的 PrvCommand 類別實例,包含查詢文字與 PrvConnection。 |
| PrvCommand(string cmdText, PrvConnection connection, PrvTransaction transaction) | 初始化一個新的 PrvCommand 類別實例,包含查詢文字、PrvConnection 與 PrvTransaction。 |
屬性
| 名稱 | Description |
|---|---|
| CommandText |
接收或設定文字指令來對資料來源執行。 |
| CommandTimeout |
在終止執行指令並產生錯誤前,取得或設定等待時間(以秒為單位)。 |
| CommandType |
指示或指定該性質的 CommandText 解釋方式。 |
| Connection |
取得或設定 IDbConnection 此實例 IDbCommand所使用的。 |
| Parameters | |
| Transaction |
取得或設定.NET資料提供者的 |
| UpdatedRowSource |
取得或設定指令結果在 方法中使用Update(DataSet)DbDataAdapter時如何應用於 。DataRow |
方法
| 名稱 | Description |
|---|---|
| Cancel() |
嘗試取消執行 IDbCommand。 |
| CreateParameter() |
建立一個新的物件實例 IDbDataParameter 。 |
| Dispose() |
執行與釋放、釋放或重設非受控資源相關聯的應用程式定義工作。 (繼承來源 IDisposable) |
| ExecuteNonQuery() |
對.NET資料提供者的 |
| ExecuteReader() |
執行 對 CommandText 並 Connection 構建 IDataReader。 |
| ExecuteReader(CommandBehavior) |
對 執行 ,CommandTextConnection並利用其中一個IDataReader值建立 CommandBehavior 。 |
| ExecuteScalar() |
執行查詢,並回傳查詢回傳結果集第一列的第一欄。 多餘的欄位或列則會被忽略。 |
| Prepare() |
在資料來源上建立已準備好(或編譯)的指令版本。 |