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