SqlCeCommand クラス

データ ソースに対して実行する SQL ステートメントを表します。

名前空間:  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 には、データ ソースに対してコマンドを実行するための、次のメソッドがあります。

項目

説明

ExecuteReader

行を返すコマンドを実行します。

ExecuteNonQuery

INSERT、DELETE、UPDATE ステートメントなどの SQL コマンドを実行します。

ExecuteScalar

データベースから単一の値 (集計値など) を取得します。

ExecuteResultSet

コマンドを実行して、結果セットを返します。

また、Data Provider for SQL Server Compact 3.5 では、バッチ クエリをサポートしていません。コマンドは、次の形式で指定します。

Select * from Customers 次の形式は、使用しません。Select * from Customers; Select * from Orders;

System.Data.SqlClient 用に生成されたコードを使用する場合は、必要に応じて、この制約に準拠するようにクエリを変更します。

SQL Server Compact 3.5 では、複数のコマンドによる同一接続の共有、および複数の同時接続がサポートされます。したがって、同じ接続で SqlCeDataReader の複数のインスタンスを使用できます。この動作は、System.Data.SqlClient の動作とは異なります。

SqlCeCommand を実行するメソッドで致命的な SqlCeException が生成された場合、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();
}

継承階層

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

スレッド セーフ

Any public static (Shared in Microsoft Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

関連項目

参照

SqlCeCommand メンバー

System.Data.SqlServerCe 名前空間

SqlCeDataAdapter

SqlCeConnection