OleDbCommand 類別

定義

表示要對資料來源執行的 SQL 陳述式或預存程序。

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

範例

下列範例會 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 具有下列方法,可在數據源上執行命令:

項目 描述
ExecuteReader 執行傳回數據列的命令。 ExecuteReader 如果用來執行 SQL SET 語句之類的命令,可能沒有您想要的效果。
ExecuteNonQuery 執行 SQL INSERT、DELETE、UPDATE 和 SET 語句等命令。
ExecuteScalar 擷取單一值,例如從資料庫擷取匯總值。

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

例如,如果嚴重 OleDbException (,SQL Server 嚴重性層級為 20 或更新) 是由執行 OleDbCommand的 方法所產生,OleDbConnection可能會關閉連接。 但是,使用者可以再次開啟連線,然後繼續進行。

建構函式

OleDbCommand()

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

OleDbCommand(String)

使用查詢的文字,初始化 OleDbCommand 類別的新執行個體。

OleDbCommand(String, OleDbConnection)

使用查詢的文字和 OleDbConnection 初始化 OleDbCommand 類別的新執行個體。

OleDbCommand(String, OleDbConnection, OleDbTransaction)

使用查詢的文字、OleDbConnectionTransaction,初始化 OleDbCommand 類別的新執行個體。

屬性

CanRaiseEvents

取得值,指出元件是否能引發事件。

(繼承來源 Component)
CommandText

取得或設定要在資料來源執行的 SQL 陳述式或預存程序。

CommandTimeout

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

CommandType

取得或設定值,這個值表示如何解譯 CommandText 屬性。

Connection

取得或設定 OleDbCommand 的這個執行個體所使用的 OleDbConnection

Container

取得包含 IContainerComponent

(繼承來源 Component)
DbConnection

取得或設定這個 DbConnection 所使用的 DbCommand

(繼承來源 DbCommand)
DbParameterCollection

取得 DbParameter 物件的集合。

(繼承來源 DbCommand)
DbTransaction

取得或設定 DbTransaction,此 DbCommand 物件會在其中執行。

(繼承來源 DbCommand)
DesignMode

取得值,指出 Component 目前是否處於設計模式。

(繼承來源 Component)
DesignTimeVisible

取得或設定值,指出在命令物件是否應該顯示在自訂 Windows Form 設計工具控制項中。

Events

取得附加在這個 Component 上的事件處理常式清單。

(繼承來源 Component)
Parameters

取得 OleDbParameterCollection

Site

取得或設定 ComponentISite

(繼承來源 Component)
Transaction

取得或設定在其中執行 OleDbTransactionOleDbCommand

UpdatedRowSource

取得或設定當由 DataRowUpdate 方法使用命令結果時,如何套用至 OleDbDataAdapter

方法

Cancel()

嘗試取消 OleDbCommand 的執行。

Clone()

建立新的 OleDbCommand 物件,這個物件是目前執行個體的複本。

CreateDbParameter()

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

(繼承來源 DbCommand)
CreateObjRef(Type)

建立包含所有相關資訊的物件,這些資訊是產生用來與遠端物件通訊的所需 Proxy。

(繼承來源 MarshalByRefObject)
CreateParameter()

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

Dispose()

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

(繼承來源 DbCommand)
Dispose()

釋放 Component 所使用的所有資源。

(繼承來源 Component)
Dispose(Boolean)

釋放 DbCommand 所使用的 Unmanaged 資源,並選擇性地釋放 Managed 資源。

(繼承來源 DbCommand)
Dispose(Boolean)

釋放 Component 所使用的 Unmanaged 資源,並選擇性地釋放 Managed 資源。

(繼承來源 Component)
DisposeAsync()

非同步地處置命令物件。

(繼承來源 DbCommand)
Equals(Object)

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

(繼承來源 Object)
ExecuteDbDataReader(CommandBehavior)

針對其連線執行命令,傳 DbDataReader 回可用來存取結果的 。

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

提供者應該實作這個方法,以提供 ExecuteReader 多載的非預設實作。

預設實作會叫用同步ExecuteReader()方法,並傳回完成的工作,封鎖呼叫的執行緒。 如果傳遞一個已經被取消的取消語彙基元,預設實作會傳回已取消的工作。 ExecuteReader 擲回的例外狀況會透過傳回的 Task Exception 屬性來傳送。

這個方法會接受可以用來要求提早取消作業的取消語彙基元。 實作可以忽略這項要求。

(繼承來源 DbCommand)
ExecuteNonQuery()

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

ExecuteNonQueryAsync()

異步 ExecuteNonQuery()版本的 ,它會對其連接物件執行命令,並傳回受影響的數據列數目。

以 CancellationToken.None 叫用 ExecuteNonQueryAsync(CancellationToken)

(繼承來源 DbCommand)
ExecuteNonQueryAsync(CancellationToken)

這是 ExecuteNonQuery() 的非同步版本。 提供者應該覆寫為適當的實作。 可以選擇性地接受忽略語彙基元。

預設實作會叫用同步ExecuteNonQuery()方法,並傳回完成的工作,封鎖呼叫的執行緒。 如果傳遞一個已經被取消的取消語彙基元,預設實作會傳回已取消的工作。 ExecuteNonQuery() 擲回的例外狀況會透過傳回的工作例外狀況屬性來傳送。

在傳回的工作完成之前,不叫用 DbCommand 物件的其他方法及屬性。

(繼承來源 DbCommand)
ExecuteReader()

傳送 CommandTextConnection,並建置 OleDbDataReader

ExecuteReader(CommandBehavior)

傳送 CommandTextConnection,並使用其中一個 CommandBehavior 值來建立 OleDbDataReader

ExecuteReaderAsync()

異步 ExecuteReader版本的 ,它會對其連線執行命令,並 DbDataReader 傳回可用來存取結果的 。

以 CancellationToken.None 叫用 ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken)

(繼承來源 DbCommand)
ExecuteReaderAsync(CancellationToken)

異步 ExecuteReader版本的 ,它會對其連線執行命令,並 DbDataReader 傳回可用來存取結果的 。

叫用 ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken)

(繼承來源 DbCommand)
ExecuteReaderAsync(CommandBehavior)

異步 ExecuteReader版本的 ,它會對其連線執行命令,並 DbDataReader 傳回可用來存取結果的 。

叫用 ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken)

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

叫用 ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken)

(繼承來源 DbCommand)
ExecuteScalar()

執行查詢,並傳回查詢所傳回之結果集中第一個資料列的第一個資料行。 忽略其他資料行或資料列。

ExecuteScalarAsync()

ExecuteScalar()異步版本,它會執行 命令,並傳回第一個傳回結果集中第一個數據列的第一個數據行。 所有其他數據行、數據列和結果集都會被忽略。

以 CancellationToken.None 叫用 ExecuteScalarAsync(CancellationToken)

(繼承來源 DbCommand)
ExecuteScalarAsync(CancellationToken)

這是 ExecuteScalar() 的非同步版本。 提供者應該覆寫為適當的實作。 可以選擇性地接受忽略語彙基元。

預設實作會叫用同步ExecuteScalar()方法,並傳回完成的工作,封鎖呼叫的執行緒。 如果傳遞一個已經被取消的取消語彙基元,預設實作會傳回已取消的工作。 ExecuteScalar 擲回的例外狀況會透過傳回的工作例外狀況屬性來傳送。

在傳回的工作完成之前,不叫用 DbCommand 物件的其他方法及屬性。

(繼承來源 DbCommand)
GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetLifetimeService()
已淘汰.

擷取控制這個執行個體存留期 (Lifetime) 原則的目前存留期服務物件。

(繼承來源 MarshalByRefObject)
GetService(Type)

傳回表示 Component 或其 Container 所提供之服務的物件。

(繼承來源 Component)
GetType()

取得目前執行個體的 Type

(繼承來源 Object)
InitializeLifetimeService()
已淘汰.

取得存留期服務物件,以控制這個執行個體的存留期原則。

(繼承來源 MarshalByRefObject)
MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
MemberwiseClone(Boolean)

建立目前 MarshalByRefObject 物件的淺層複本。

(繼承來源 MarshalByRefObject)
Prepare()

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

PrepareAsync(CancellationToken)

在資料來源上非同步地建立預先準備 (或預先編譯) 版本的命令。

(繼承來源 DbCommand)
ResetCommandTimeout()

重設 CommandTimeout 屬性為預設值。

ToString()

傳回代表目前物件的字串。

(繼承來源 Object)
ToString()

傳回任何包含 Component 名稱的 String。 不應覆寫此方法。

(繼承來源 Component)

事件

Disposed

Dispose() 方法的呼叫處置元件時,就會發生。

(繼承來源 Component)

明確介面實作

ICloneable.Clone()

如需這個成員的說明,請參閱 Clone()

IDbCommand.Connection

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

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

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

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

IDbCommand.CreateParameter()

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

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

如需這個成員的說明,請參閱 ExecuteReader()

IDbCommand.ExecuteReader(CommandBehavior)

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

IDbCommand.Parameters

取得 IDataParameterCollection

(繼承來源 DbCommand)
IDbCommand.Transaction

取得或設定 DbTransaction,此 DbCommand 物件會在其中執行。

(繼承來源 DbCommand)

適用於

另請參閱