IDbCommand 介面

定義

代表一個在連接資料來源時執行的 SQL 語句,並由存取關聯式資料庫的 .NET 資料提供者實作。

public interface class IDbCommand : IDisposable
public interface IDbCommand : IDisposable
type IDbCommand = interface
    interface IDisposable
Public Interface IDbCommand
Implements IDisposable
衍生
實作

範例

以下範例建立了 SqlConnection導出類別 、 、 SqlCommandSqlDataReader的實例。 範例會讀取資料,並將其寫入主控台。 最後,範例會封 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

取得 IDataParameterCollection

Transaction

取得或設定.NET資料提供者的 Command 物件執行的交易。

UpdatedRowSource

取得或設定指令結果在 方法中使用Update(DataSet)DbDataAdapter時如何應用於 。DataRow

方法

名稱 Description
Cancel()

嘗試取消執行 IDbCommand

CreateParameter()

建立一個新的物件實例 IDbDataParameter

Dispose()

執行與釋放、釋放或重設非受控資源相關聯的應用程式定義工作。

(繼承來源 IDisposable)
ExecuteNonQuery()

對.NET資料提供者的 Connection 物件執行 SQL 陳述句,並回傳受影響的列數。

ExecuteReader()

執行 對 CommandTextConnection 構建 IDataReader

ExecuteReader(CommandBehavior)

對 執行 ,CommandTextConnection並利用其中一個IDataReader值建立 CommandBehavior

ExecuteScalar()

執行查詢,並回傳查詢回傳結果集第一列的第一欄。 多餘的欄位或列則會被忽略。

Prepare()

在資料來源上建立已準備好(或編譯)的指令版本。

適用於

另請參閱