IDbCommand 介面

定義

代表在連線至資料來源時所執行的 SQL 陳述式,而且是由存取關聯式資料庫的 .NET 資料提供者所實作。

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

範例

下列範例會建立衍生類別 、 SqlConnectionSqlCommandSqlDataReader 的實例。 此範例會讀取資料,並將它寫入主控台。 最後,此範例會 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 語句。 如需 Command 類別的詳細資訊,請參閱 執行命令

應用程式不會直接建立介面的 IDbCommand 實例,而是建立實 IDbCommand 作 介面的類別實例。

IDbCommand 作的類別必須實作其所有成員,而且通常會定義其他成員來新增提供者特定的功能。 例如, IDbCommand 介面會 ExecuteNonQuery 定義 方法。 接著,類別 SqlCommand 會繼承這個方法,也會定義 ExecuteXmlReader 方法。

給實施者的注意事項

若要在.NET Framework資料提供者之間提升一致性,請在表單 PrvClassname 中命名繼承類別,其中 Prv 是指定給特定.NET Framework資料提供者命名空間中所有類別的統一前置詞。 例如, Sql 是 命名空間中 類別的 SqlCommand System.Data.SqlClient 前置詞。

當您繼承自 介面時 IDbCommand ,應該實作下列建構函式:

項目 描述
PrvCommand () 初始化 PrvCommand 類別的新實例。
PrvCommand (字串 cmdText) 使用查詢的文字,初始化 PrvCommand 類別的新實例。
PrvCommand (字串 cmdText、PrvConnection 連線) 使用查詢和 PrvConnection 的文字,初始化 PrvCommand 類別的新實例。
PrvCommand (字串 cmdText、PrvConnection 連線、PrvTransaction 交易) 使用查詢的文字、PrvConnection 和 PrvTransaction,初始化 PrvCommand 類別的新實例。

屬性

CommandText

取得或設定要對資料來源執行的文字命令。

CommandTimeout

取得或設定結束執行命令的嘗試並產生錯誤之前的等待時間 (以秒為單位)。

CommandType

指示或指定 CommandText 屬性應如何解譯。

Connection

取得或設定 IDbCommand 的這個執行個體所使用的 IDbConnection

Parameters

取得 IDataParameterCollection

Transaction

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

UpdatedRowSource

取得或設定由 DataRowUpdate(DataSet) 方法使用命令結果時,如何將其套用至 DbDataAdapter

方法

Cancel()

嘗試取消 IDbCommand 的執行。

CreateParameter()

建立 IDbDataParameter 物件的新執行個體。

Dispose()

執行與釋放 (Free)、釋放 (Release) 或重設 Unmanaged 資源相關聯之應用程式定義的工作。

(繼承來源 IDisposable)
ExecuteNonQuery()

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

ExecuteReader()

針對 Connection 執行 CommandText,並建置 IDataReader

ExecuteReader(CommandBehavior)

針對 Connection 執行 CommandText,並使用其中一個 CommandBehavior 值來建置 IDataReader

ExecuteScalar()

執行查詢,並傳回查詢所傳回的結果集中第一個資料列的第一個資料行。 額外的資料行或資料列都會遭到忽略。

Prepare()

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

適用於

另請參閱