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是命名空間中 System.Data.SqlClient 類別的SqlCommand前置詞。
當您繼承自 介面時 IDbCommand ,應該實作下列建構函式:
| 項目 | 描述 |
|---|---|
| PrvCommand () | 初始化 PrvCommand 類別的新實例。 |
| PrvCommand (字串 cmdText) | 使用查詢的文字,初始化 PrvCommand 類別的新實例。 |
| PrvCommand (字串 cmdText、PrvConnection 連線) | 使用查詢和 PrvConnection 的文字,初始化 PrvCommand 類別的新實例。 |
| PrvCommand (字串 cmdText、PrvConnection 連線、PrvTransaction 交易) | 使用查詢的文字、PrvConnection 和 PrvTransaction,初始化 PrvCommand 類別的新實例。 |
屬性
| 名稱 | Description |
|---|---|
| CommandText |
取得或設定要對資料來源執行的文字命令。 |
| CommandTimeout |
取得或設定結束執行命令的嘗試並產生錯誤之前的等待時間 (以秒為單位)。 |
| CommandType |
指示或指定 CommandText 屬性應如何解譯。 |
| Connection |
取得或設定 IDbCommand 的這個執行個體所使用的 IDbConnection。 |
| Parameters | |
| Transaction |
取得或設定 .NET 資料提供者的 |
| UpdatedRowSource |
取得或設定由 DataRow 的 Update(DataSet) 方法使用命令結果時,如何將其套用至 DbDataAdapter。 |
方法
| 名稱 | Description |
|---|---|
| Cancel() |
嘗試取消 IDbCommand 的執行。 |
| CreateParameter() |
建立 IDbDataParameter 物件的新執行個體。 |
| Dispose() |
執行與釋放 (Free)、釋放 (Release) 或重設 Unmanaged 資源相關聯之應用程式定義的工作。 (繼承來源 IDisposable) |
| ExecuteNonQuery() |
針對 .NET 資料提供者的 |
| ExecuteReader() |
針對 Connection 執行 CommandText,並建置 IDataReader。 |
| ExecuteReader(CommandBehavior) |
針對 Connection 執行 CommandText,並使用其中一個 CommandBehavior 值來建置 IDataReader。 |
| ExecuteScalar() |
執行查詢,並傳回查詢所傳回的結果集中第一個資料列的第一個資料行。 額外的資料行或資料列都會遭到忽略。 |
| Prepare() |
在資料來源上建立命令已備妥 (或已編譯) 的版本。 |