SqlCeCommand 類別

表示要針對資料來源執行的 SQL 陳述式。

繼承階層

System.Object
  System.MarshalByRefObject
    System.ComponentModel.Component
      System.Data.Common.DbCommand
        System.Data.SqlServerCe.SqlCeCommand

命名空間:  System.Data.SqlServerCe
組件:  System.Data.SqlServerCe (在 System.Data.SqlServerCe.dll 中)

語法

'宣告
Public NotInheritable Class SqlCeCommand _
    Inherits DbCommand _
    Implements ICloneable
'用途
Dim instance As SqlCeCommand
public sealed class SqlCeCommand : DbCommand, 
    ICloneable
public ref class SqlCeCommand sealed : public DbCommand, 
    ICloneable
[<SealedAttribute>]
type SqlCeCommand =  
    class
        inherit DbCommand
        interface ICloneable
    end
public final class SqlCeCommand extends DbCommand implements ICloneable

SqlCeCommand 型別公開下列成員。

建構函式

  名稱 說明
公用方法 SqlCeCommand() 初始化 SqlCeCommand 類別的新執行個體。
公用方法 SqlCeCommand(String) 使用查詢的文字初始化 SqlCeCommand 類別的新執行個體。
公用方法 SqlCeCommand(String, SqlCeConnection) 使用查詢的文字和 SqlCeConnection 初始化 SqlCeCommand 類別的新執行個體。
公用方法 SqlCeCommand(String, SqlCeConnection, SqlCeTransaction) 使用查詢的文字、SqlCeConnectionSqlCeTransaction 初始化 SqlCeCommand 類別的新執行個體。

上層

屬性

  名稱 說明
受保護的屬性 CanRaiseEvents (繼承自 Component)
公用屬性 CommandText 取得或設定要在資料來源執行的 SQL 陳述式。 (覆寫 DbCommand.CommandText。)
公用屬性 CommandTimeout 取得或設定結束嘗試執行命令並產生錯誤之前的等候時間。 (覆寫 DbCommand.CommandTimeout。)
公用屬性 CommandType 取得或設定代表如何解譯 CommandText 屬性的值。 (覆寫 DbCommand.CommandType。)
公用屬性 Connection 取得或設定由 SqlCeCommand 的這個執行個體所使用的 SqlCeConnection
公用屬性 Container (繼承自 Component)
受保護的屬性 DbConnection (繼承自 DbCommand)
受保護的屬性 DbParameterCollection (繼承自 DbCommand)
受保護的屬性 DbTransaction (繼承自 DbCommand)
受保護的屬性 DesignMode (繼承自 Component)
公用屬性 DesignTimeVisible Get 會永遠傳回 false,Set 則永遠擲回 NotSupportedException。 (覆寫 DbCommand.DesignTimeVisible。)
受保護的屬性 Events (繼承自 Component)
公用屬性 IndexName 指定要開啟的索引。
公用屬性 Parameters 取得 SqlCeParameterCollection
公用屬性 Site (繼承自 Component)
公用屬性 Transaction 取得或設定在其中執行 SqlCeCommand 的交易。
公用屬性 UpdatedRowSource 取得或設定當命令結果是由 DbDataAdapterUpdate 方法使用時,如何套用到 DataRow。這個屬性不能與 .NET Compact Framework Data Provider for SQL Server Compact 搭配使用。 (覆寫 DbCommand.UpdatedRowSource。)

上層

方法

  名稱 說明
公用方法 Cancel 嘗試取消 SqlCeCommand 的執行。 (覆寫 DbCommand.Cancel()。)
受保護的方法 CreateDbParameter (繼承自 DbCommand)
公用方法 CreateObjRef (繼承自 MarshalByRefObject)
公用方法 CreateParameter 建立 SqlCeParameter 物件的新執行個體。
公用方法 Dispose() (繼承自 Component)
受保護的方法 Dispose(Boolean) (繼承自 Component)
公用方法 Equals (繼承自 Object)
受保護的方法 ExecuteDbDataReader (繼承自 DbCommand)
公用方法 ExecuteNonQuery 針對 SqlCeConnection 執行 SQL 陳述式,並傳回受影響的資料列數。 (覆寫 DbCommand.ExecuteNonQuery()。)
公用方法 ExecuteReader() CommandText 傳送到 Connection,並建立 SqlCeDataReader
公用方法 ExecuteReader(CommandBehavior) 藉由使用其中一個 CommandBehavior 值,將 CommandText 傳送到 Connection 並建立 SqlCeDataReader
公用方法 ExecuteResultSet(ResultSetOptions) CommandText 傳送到 Connection,並藉由使用 ResultSetOptions 建立 SqlCeResultSet
公用方法 ExecuteResultSet(ResultSetOptions, SqlCeResultSet) CommandText 傳送到 Connection,並藉由使用 ResultSetOptions 建立 SqlCeResultSet
公用方法 ExecuteScalar 執行查詢,並傳回查詢所傳回的結果集中第一個資料列的第一個資料行。會忽略額外的資料行或資料列。 (覆寫 DbCommand.ExecuteScalar()。)
受保護的方法 Finalize (繼承自 Component)
公用方法 GetHashCode (繼承自 Object)
公用方法 GetLifetimeService (繼承自 MarshalByRefObject)
受保護的方法 GetService (繼承自 Component)
公用方法 GetType (繼承自 Object)
公用方法 InitializeLifetimeService (繼承自 MarshalByRefObject)
受保護的方法 MemberwiseClone() (繼承自 Object)
受保護的方法 MemberwiseClone(Boolean) (繼承自 MarshalByRefObject)
公用方法 Prepare 會在資料來源上建立命令的備製 (或已編譯的) 版本。 (覆寫 DbCommand.Prepare()。)
公用方法 SetRange 限制將由 SqlCeDataReader 所讀取的資料列集合。
公用方法 ToString (繼承自 Component)

上層

事件

  名稱 說明
公用事件 Disposed (繼承自 Component)

上層

明確 繼承 實作

  名稱 說明
明確介面實作私用方法 ICloneable.Clone
明確介面實作私用屬性 IDbCommand.Connection (繼承自 DbCommand)
明確介面實作私用方法 IDbCommand.CreateParameter (繼承自 DbCommand)
明確介面實作私用方法 IDbCommand.ExecuteReader() (繼承自 DbCommand)
明確介面實作私用方法 IDbCommand.ExecuteReader(CommandBehavior) (繼承自 DbCommand)
明確介面實作私用屬性 IDbCommand.Parameters (繼承自 DbCommand)
明確介面實作私用屬性 IDbCommand.Transaction (繼承自 DbCommand)

上層

備註

當您建立 SqlCeCommand 時,讀取/寫入屬性會設定為初始值。如需這些值的清單,請參閱 SqlCeCommand 建構函式。

SqlCeCommand 提供下列在資料來源執行命令的方法:

Item

說明

ExecuteReader

執行傳回資料列的命令。

ExecuteNonQuery

執行 INSERT、DELETE 和 UPDATE 陳述式之類的 SQL 命令。

ExecuteScalar

從資料庫中擷取單一值 (如彙總值)。

ExecuteResultSet

執行命令並傳回結果集 (Result Set)。

Data Provider for SQL Server Compact 不支援批次處理的查詢。命令的形式必須如下:

Select * from Customers 而不是Select * from Customers; Select * from Orders;

如果您使用的是針對 System.Data.SqlClient 所產生的程式碼,則可能必須改變查詢,以符合這個限制。

SQL Server Compact 可同時支援多個連接,並支援共用相同連接的多個命令。這表示在同一個連接上可以有 SqlCeDataReader 的多個執行個體。這項行為與 System.Data.SqlClient 的不同。

如果嚴重的 SqlCeException 是由執行 SqlCeCommand 的方法所產生,則 SqlCeConnection 可能已關閉。您可以重新開啟連接並繼續。

範例

下列範例會使用 SqlCeCommand 和 SqlCeConnection,從資料庫選取資料列。

Dim query As String = "SELECT [Order ID], [Customer] FROM Orders"
Dim conn As New SqlCeConnection(connString)
Dim cmd As New SqlCeCommand(query, conn)

conn.Open()
Dim rdr As SqlCeDataReader = cmd.ExecuteReader()

Try
    ' Iterate through the results
    '
    While rdr.Read()
        Dim val1 As Integer = rdr.GetInt32(0)
        Dim val2 As String = rdr.GetString(1)
    End While
Finally
    ' Always call Close when done reading
    '
    rdr.Close()

    ' Always call Close when done reading
    '
    conn.Close()
End Try
string query = "SELECT [Order ID], [Customer] FROM Orders";
SqlCeConnection conn = new SqlCeConnection(connString);
SqlCeCommand cmd = new SqlCeCommand(query, conn);

conn.Open();
SqlCeDataReader rdr = cmd.ExecuteReader();

try
{
    // Iterate through the results
    //
    while (rdr.Read())
    {
        int val1 = rdr.GetInt32(0);
        string val2 = rdr.GetString(1);
    }
}
finally
{
    // Always call Close when done reading
    //
    rdr.Close();

    // Always call Close when done reading
    //
    conn.Close();
}

執行緒安全性

這個類型的任何公用靜態 (在 Microsoft Visual Basic 中為 Shared) 成員都是執行緒安全的。並不是所有的執行個體成員都保證可以用於所有的執行緒。

請參閱

參考

System.Data.SqlServerCe 命名空間

SqlCeDataAdapter

SqlCeConnection