OleDbCommand 類別

定義

表示要針對數據源執行的 SQL 語句或預存程式。

public ref class OleDbCommand sealed : System::ComponentModel::Component, ICloneable, IDisposable, System::Data::IDbCommand
public ref class OleDbCommand sealed : System::Data::Common::DbCommand, ICloneable, IDisposable
public sealed class OleDbCommand : System.ComponentModel.Component, ICloneable, IDisposable, System.Data.IDbCommand
public sealed class OleDbCommand : System.Data.Common.DbCommand, ICloneable, IDisposable
type OleDbCommand = class
    inherit Component
    interface ICloneable
    interface IDbCommand
    interface IDisposable
type OleDbCommand = class
    inherit DbCommand
    interface ICloneable
    interface IDbCommand
    interface IDisposable
Public NotInheritable Class OleDbCommand
Inherits Component
Implements ICloneable, IDbCommand, IDisposable
Public NotInheritable Class OleDbCommand
Inherits DbCommand
Implements ICloneable, IDisposable
繼承
繼承
實作

範例

以下範例使用 OleDbCommand沿著 OleDbDataAdapterOleDbConnection和 的 ,從 Access 資料庫中選取列。 填充 DataSet 物隨後會被歸還。 範例會傳遞一個初始化的 DataSet、一個連接字串、一個查詢字串(SQL SELECT 語句)以及一個字串(來源資料庫資料表的名稱)。

public void ReadMyData(string connectionString)
{
    string queryString = "SELECT OrderID, CustomerID FROM Orders";
    using (OleDbConnection connection = new OleDbConnection(connectionString))
    {
        OleDbCommand command = new OleDbCommand(queryString, connection);
        connection.Open();
        OleDbDataReader reader = command.ExecuteReader();

        while (reader.Read())
        {
            Console.WriteLine(reader.GetInt32(0) + ", " + reader.GetString(1));
        }
        // always call Close when done reading.
        reader.Close();
    }
}
Public Sub ReadMyData(ByVal connectionString As String)
    Dim queryString As String = "SELECT OrderID, CustomerID FROM Orders"
    Using connection As New OleDbConnection(connectionString)
        Dim command As New OleDbCommand(queryString, connection)

        connection.Open()

        Dim reader As OleDbDataReader = command.ExecuteReader()
        While reader.Read()
            Console.WriteLine(reader.GetInt32(0).ToString() + ", " _
               + reader.GetString(1))
        End While

        ' always call Close when done reading.
        reader.Close()
    End Using
End Sub

備註

當建立 的 OleDbCommand 實例時,讀寫屬性會設定為初始值。 如需這些值的清單,請參閱建構函式 OleDbCommand

OleDbCommand 具備以下方法在資料來源執行指令:

項目 Description
ExecuteReader 執行回傳列的指令。 ExecuteReader 若用於執行像是 SQL SET 語句這類指令,可能無法達到你想要的效果。
ExecuteNonQuery 執行 SQL INSERT、DELETE、UPDATE 和 SET 等指令。
ExecuteScalar 擷取單一值,例如,從資料庫擷取匯總值。

你可以重置屬性 CommandText 並重複使用該 OleDbCommand 物件。 不過,你必須先關閉 , OleDbDataReader 才能執行新的或之前的指令。

若執行 的方法OleDbExceptionOleDbCommand產生致命事件OleDbConnection(例如 SQL Server 嚴重度等級達 20 或以上),則該連線可能會被關閉。 不過,使用者可以重新開啟連線並繼續使用。

建構函式

名稱 Description
OleDbCommand()

初始化 OleDbCommand 類別的新執行個體。

OleDbCommand(String, OleDbConnection, OleDbTransaction)

初始化一個新的類別實例 OleDbCommand ,包含查詢文本、一個 OleDbConnection、 和 Transaction

OleDbCommand(String, OleDbConnection)

初始化一個新的類別實例 OleDbCommand ,並以查詢文字和一個 OleDbConnection

OleDbCommand(String)

初始化一個新的類別實例 OleDbCommand ,並使用查詢的文字。

屬性

名稱 Description
CanRaiseEvents

會得到一個值,表示該元件是否能引發事件。

(繼承來源 Component)
CommandText

取得或設定要於數據源執行的 SQL 語句或預存程式。

CommandTimeout

取得或設定終止嘗試執行命令併產生錯誤之前的等候時間(以秒為單位)。

CommandType

取得或設定一個值,指示屬性的 CommandText 解讀方式。

Connection

取得或設定 OleDbConnection 此實例 OleDbCommand所使用的。

Container

得到 IContainer 包含 Component的 。

(繼承來源 Component)
DbConnection

得到或設定 由 DbConnection 所使用 DbCommand

(繼承來源 DbCommand)
DbParameterCollection

取得物品集合 DbParameter

(繼承來源 DbCommand)
DbTransaction

取得或設定該DbTransaction物件執行的內部。DbCommand

(繼承來源 DbCommand)
DesignMode

會得到一個值,表示目前 Component 是否處於設計模式。

(繼承來源 Component)
DesignTimeVisible

取得或設定值,這個值表示命令物件是否應該顯示在自定義的 Windows Forms 設計工具控制件中。

Events

會取得與此 Component連結的事件處理程序清單。

(繼承來源 Component)
Parameters

取得 OleDbParameterCollection

Site

取得或設定 ISiteComponent

(繼承來源 Component)
Transaction

取得或設定 OleDbTransaction 執行的內部 OleDbCommand

UpdatedRowSource

取得或設定指令結果在 使用 該方法DataRow時如何應用於 。UpdateOleDbDataAdapter

方法

名稱 Description
Cancel()

嘗試取消執行 OleDbCommand

Clone()

建立一個新的 OleDbCommand 物件,該物件是目前實例的複製品。

CreateDbParameter()

建立一個新的物件實例 DbParameter

(繼承來源 DbCommand)
CreateObjRef(Type)

建立一個物件,包含產生代理伺服器所需的所有相關資訊,用於與遠端物件通訊。

(繼承來源 MarshalByRefObject)
CreateParameter()

建立一個新的物件實例 OleDbParameter

Dispose()

釋放所有由 Component.

(繼承來源 Component)
Dispose(Boolean)

釋放 未管理的資源, Component 並可選擇性地釋放受管理資源。

(繼承來源 Component)
Equals(Object)

判斷指定的 物件是否等於目前的物件。

(繼承來源 Object)
ExecuteDbDataReader(CommandBehavior)

對其連線執行指令,回傳可用來存取結果的 a DbDataReader

(繼承來源 DbCommand)
ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken)

提供者應實作此方法,以提供非預設的超載實 ExecuteReader 作。

預設實作會呼叫同步 ExecuteReader() 方法並回傳已完成的任務,阻擋呼叫執行緒。 預設實作若傳遞已取消的取消標記,會回傳已取消的任務。 ExecuteReader 拋出的異常會透過回傳的任務異常屬性來傳達。

此方法接受一個取消標記,可用來請求提前取消操作。 實施單位可能會忽略此請求。

(繼承來源 DbCommand)
ExecuteNonQuery()

對 執行 SQL 陳述式, Connection 並回傳受影響的列數。

ExecuteNonQueryAsync()

非同步版本 ExecuteNonQuery()的 ,該指令會對其連接物件執行指令,並回傳受影響的列數。

使用 CancellationToken.None 來調用 ExecuteNonQueryAsync(CancellationToken)

(繼承來源 DbCommand)
ExecuteNonQueryAsync(CancellationToken)

這是非同步版本的 ExecuteNonQuery()。 提供者應該透過適當的實作來覆蓋。 取消標記可選擇性地忽略。

預設實作會呼叫同步 ExecuteNonQuery() 方法並回傳已完成的任務,阻擋呼叫執行緒。 預設實作若傳遞已取消的取消標記,會回傳已取消的任務。 所 ExecuteNonQuery() 拋出的異常會透過回傳的 Task Exception 屬性來傳達。

在回傳任務完成前,不要呼叫物件的其他 DbCommand 方法和屬性。

(繼承來源 DbCommand)
ExecuteReader()

CommandText 傳送到 並 Connection 建立一個 OleDbDataReader

ExecuteReader(CommandBehavior)

CommandText 傳送到 Connection,並利用其中一個OleDbDataReader值建立 CommandBehavior

ExecuteReaderAsync()

一個非同步版本 ExecuteReader的 ,該指令會對其連線執行指令,回傳 a DbDataReader 可用來存取結果。

使用 CancellationToken.None 來調用 ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken)

(繼承來源 DbCommand)
ExecuteReaderAsync(CancellationToken)

一個非同步版本 ExecuteReader的 ,該指令會對其連線執行指令,回傳 a DbDataReader 可用來存取結果。

喚起 ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken)

(繼承來源 DbCommand)
ExecuteReaderAsync(CommandBehavior, CancellationToken)

喚起 ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken)

(繼承來源 DbCommand)
ExecuteReaderAsync(CommandBehavior)

一個非同步版本 ExecuteReader的 ,該指令會對其連線執行指令,回傳 a DbDataReader 可用來存取結果。

喚起 ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken)

(繼承來源 DbCommand)
ExecuteScalar()

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

ExecuteScalarAsync()

一個非同步版本的 ExecuteScalar(),執行指令並回傳第一個回傳結果集第一列的第一欄。 其他欄位、列和結果集則被忽略。

使用 CancellationToken.None 來調用 ExecuteScalarAsync(CancellationToken)

(繼承來源 DbCommand)
ExecuteScalarAsync(CancellationToken)

這是非同步版本的 ExecuteScalar()。 提供者應該透過適當的實作來覆蓋。 取消標記可選擇性地忽略。

預設實作會呼叫同步 ExecuteScalar() 方法並回傳已完成的任務,阻擋呼叫執行緒。 預設實作若傳遞已取消的取消標記,會回傳已取消的任務。 ExecuteScalar 拋出的異常會透過回傳的任務異常屬性來傳達。

在回傳任務完成前,不要呼叫物件的其他 DbCommand 方法和屬性。

(繼承來源 DbCommand)
GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetLifetimeService()

取得目前控制此實例生命週期政策的終身服務物件。

(繼承來源 MarshalByRefObject)
GetService(Type)

回傳一個由 或Component其 所提供的Container服務的物件。

(繼承來源 Component)
GetType()

取得目前實例的 Type

(繼承來源 Object)
InitializeLifetimeService()

取得一個終身服務物件以控制此實例的終身政策。

(繼承來源 MarshalByRefObject)
MemberwiseClone()

建立目前 Object的淺層複本。

(繼承來源 Object)
MemberwiseClone(Boolean)

建立一個 MarshalByRefObject 目前物件的淺層複製品。

(繼承來源 MarshalByRefObject)
Prepare()

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

ResetCommandTimeout()

將屬性 CommandTimeout 重置為預設值。

ToString()

回傳 String 包含 的名稱 Component(若有的話)。 此方法不應被覆蓋。

(繼承來源 Component)

事件

名稱 Description
Disposed

當元件被呼叫方法 Dispose() 時會發生。

(繼承來源 Component)

明確介面實作

名稱 Description
ICloneable.Clone()

關於此成員的描述,請參見 Clone()

IDbCommand.Connection

取得或設定 IDbConnection 此實例 IDbCommand所使用的。

(繼承來源 DbCommand)
IDbCommand.CreateParameter()

此 API 支援此產品基礎結構,但無法直接用於程式碼之中。

建立一個新的物件實例 IDbDataParameter

IDbCommand.CreateParameter()

建立一個新的物件實例 IDbDataParameter

(繼承來源 DbCommand)
IDbCommand.ExecuteReader()

關於此成員的描述,請參見 ExecuteReader()

IDbCommand.ExecuteReader(CommandBehavior)

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

IDbCommand.Parameters

取得 IDataParameterCollection

(繼承來源 DbCommand)
IDbCommand.Transaction

取得或設定該DbTransaction物件執行的內部。DbCommand

(繼承來源 DbCommand)

適用於

另請參閱