SqlCeParameterCollection クラス

SqlCeCommand に関連するすべてのパラメーター、および DataSet 列に対する各パラメーターのマップを収集します。

継承階層

System.Object
  System.MarshalByRefObject
    System.Data.Common.DbParameterCollection
      System.Data.SqlServerCe.SqlCeParameterCollection

名前空間:  System.Data.SqlServerCe
アセンブリ:  System.Data.SqlServerCe (System.Data.SqlServerCe.dll)

構文

'宣言
Public NotInheritable Class SqlCeParameterCollection _
    Inherits DbParameterCollection
'使用
Dim instance As SqlCeParameterCollection
public sealed class SqlCeParameterCollection : DbParameterCollection
public ref class SqlCeParameterCollection sealed : public DbParameterCollection
[<SealedAttribute>]
type SqlCeParameterCollection =  
    class
        inherit DbParameterCollection
    end
public final class SqlCeParameterCollection extends DbParameterCollection

SqlCeParameterCollection 型は、以下のメンバーを公開しています。

プロパティ

  名前 説明
パブリック プロパティ Count コレクション内の SqlCeParameter オブジェクト数を取得します。 (DbParameterCollection.Count をオーバーライドします。)
パブリック プロパティ IsFixedSize インフラストラクチャです。 (DbParameterCollection.IsFixedSize をオーバーライドします。)
パブリック プロパティ IsReadOnly インフラストラクチャです。 (DbParameterCollection.IsReadOnly をオーバーライドします。)
パブリック プロパティ IsSynchronized インフラストラクチャです。 (DbParameterCollection.IsSynchronized をオーバーライドします。)
パブリック プロパティ Item[Int32] 指定したインデックス位置にある SqlCeParameter を取得または設定します。
パブリック プロパティ Item[String] 指定した名前の SqlCeParameter を取得または設定します。
パブリック プロパティ SyncRoot インフラストラクチャです。 (DbParameterCollection.SyncRoot をオーバーライドします。)

Top

メソッド

  名前 説明
パブリック メソッド Add(Object) SqlCeParameter オブジェクトを SqlCeCommand に追加します。 (DbParameterCollection.Add(Object) をオーバーライドします。)
パブリック メソッド Add(SqlCeParameter) 指定した SqlCeParameter を SqlCeParameterCollection に追加します。
パブリック メソッド Add(String, SqlDbType) パラメーターの名前とデータ型を指定して、SqlCeParameter を SqlCeParameterCollection に追加します。
パブリック メソッド Add(String, Object) 互換性のために残されています。パラメーターの名前と値を指定して、SqlCeParameter を SqlCeParameterCollection に追加します。
パブリック メソッド Add(String, SqlDbType, Int32) パラメーター名、データ型、および列の幅を指定して、SqlCeParameter を SqlCeParameterCollection に追加します。
パブリック メソッド Add(String, SqlDbType, Int32, String) パラメーターの名前、データ型、列の幅、およびソース列名を指定して、SqlCeParameterSqlCeCommand に追加します。
パブリック メソッド AddRange SqlCeParameterCollection に SqlCeParameter オブジェクトの配列を追加します。 (DbParameterCollection.AddRange(Array) をオーバーライドします。)
パブリック メソッド AddWithValue 新しい SqlCeParameter を SqlCeParameterCollection に追加し、その値を設定します。
パブリック メソッド Clear コレクションからすべての項目を削除します。 (DbParameterCollection.Clear() をオーバーライドします。)
パブリック メソッド Contains(Object) SqlCeParameter オブジェクトがコレクション内に存在するかどうかを示す値を取得します。 (DbParameterCollection.Contains(Object) をオーバーライドします。)
パブリック メソッド Contains(String) 指定したパラメーター名の SqlCeParameter がコレクション内に存在するかどうかを示す値を取得します。 (DbParameterCollection.Contains(String) をオーバーライドします。)
パブリック メソッド CopyTo SqlCeParameterCollection から、指定した配列に SqlCeParameter オブジェクトをコピーします。 (DbParameterCollection.CopyTo(Array, Int32) をオーバーライドします。)
パブリック メソッド CreateObjRef (MarshalByRefObject から継承されます。)
パブリック メソッド Equals (Object から継承されます。)
プロテクト メソッド Finalize (Object から継承されます。)
パブリック メソッド GetEnumerator インフラストラクチャです。 (DbParameterCollection.GetEnumerator() をオーバーライドします。)
パブリック メソッド GetHashCode (Object から継承されます。)
パブリック メソッド GetLifetimeService (MarshalByRefObject から継承されます。)
プロテクト メソッド GetParameter(Int32) (DbParameterCollection から継承されます。)
プロテクト メソッド GetParameter(String) (DbParameterCollection から継承されます。)
パブリック メソッド GetType (Object から継承されます。)
パブリック メソッド IndexOf(Object) SqlCeParameter オブジェクトの、コレクション内での位置を取得します。 (DbParameterCollection.IndexOf(Object) をオーバーライドします。)
パブリック メソッド IndexOf(String) 指定したパラメーター名の SqlCeParameter の、コレクション内での位置を取得します。 (DbParameterCollection.IndexOf(String) をオーバーライドします。)
パブリック メソッド InitializeLifetimeService (MarshalByRefObject から継承されます。)
パブリック メソッド Insert コレクション内の指定したインデックス位置に SqlCeParameter を挿入します。 (DbParameterCollection.Insert(Int32, Object) をオーバーライドします。)
プロテクト メソッド MemberwiseClone() (Object から継承されます。)
プロテクト メソッド MemberwiseClone(Boolean) (MarshalByRefObject から継承されます。)
パブリック メソッド Remove 指定した SqlCeParameter をコレクションから削除します。 (DbParameterCollection.Remove(Object) をオーバーライドします。)
パブリック メソッド RemoveAt(Int32) 指定したインデックス位置にある SqlCeParameter をコレクションから削除します。 (DbParameterCollection.RemoveAt(Int32) をオーバーライドします。)
パブリック メソッド RemoveAt(String) 指定した名前の SqlCeParameter をコレクションから削除します。 (DbParameterCollection.RemoveAt(String) をオーバーライドします。)
プロテクト メソッド SetParameter(Int32, DbParameter) (DbParameterCollection から継承されます。)
プロテクト メソッド SetParameter(String, DbParameter) (DbParameterCollection から継承されます。)
パブリック メソッド ToString (Object から継承されます。)

Top

明示的なインターフェイスの実装

  名前 説明
明示的なインターフェイスの実装プライベート プロパティ IList.Item (DbParameterCollection から継承されます。)
明示的なインターフェイスの実装プライベート プロパティ IDataParameterCollection.Item (DbParameterCollection から継承されます。)

Top

説明

コレクション内のパラメーター数は、コマンド テキスト内のパラメーター プレースホルダーの数と同じにする必要があります。これらが異なると、.NET Compact Framework Data Provider for SQL Server Compact でエラーが発生する可能性があります。

使用例

SqlCeDataAdapter の SqlCeParameterCollection コレクションを使用して、SqlCeParameter の複数のインスタンスを作成する例を次に示します。これらのパラメーターは、データ ソース内のデータ選択に使用されます。その後で、このデータが DataSet に格納されます。この例は、DataSet および SqlCeDataAdapter が、正しいスキーマ、コマンド、および接続で既に作成されていることを前提にしています。

Dim cmd As SqlCeCommand = Nothing
Dim adp As SqlCeDataAdapter = Nothing

Try
    adp = New SqlCeDataAdapter()
    Dim conn As New SqlCeConnection("Data Source = MyDatabase.sdf")

    ' Create the SelectCommand
    '
    cmd = conn.CreateCommand()
    cmd.CommandText = "SELECT * FROM Orders WHERE [Ship Country] = @country AND [Ship City] = @city"
    cmd.Parameters.Add("@country", SqlDbType.NVarChar, 15)
    cmd.Parameters.Add("@city", SqlDbType.NVarChar, 15)

    cmd.Parameters("@country").Value = "UK"
    cmd.Parameters("@city").Value = "London"

    adp.SelectCommand = cmd

    ' Create the DeleteCommand
    '
    cmd = conn.CreateCommand()
    cmd.CommandText = "DELETE FROM Orders WHERE [Order ID] = @orderID"

    Dim p As SqlCeParameter = cmd.Parameters.Add("@orderID", SqlDbType.NChar, 5, "Order ID")
    p.SourceVersion = DataRowVersion.Original

    adp.DeleteCommand = cmd

    ' Populate the dataset with the results from the SELECT statement
    '
    Dim ds As New DataSet()
    adp.Fill(ds)

    ' Modify the dataset
    '
    MessageBox.Show("Number of rows: " & ds.Tables(0).Rows.Count)

    ' Delete some rows
    '
    ds.Tables(0).Rows(3).Delete()
    ds.Tables(0).Rows(4).Delete()

    ' This will execute two DELETE statements 
    '
    adp.Update(ds.Tables(0))
Catch e As Exception
    MessageBox.Show(e.Message)
Finally
    If Not Nothing Is adp.SelectCommand Then
        adp.SelectCommand.Dispose()
    End If
    If Not Nothing Is adp.DeleteCommand Then
        adp.DeleteCommand.Dispose()
    End If
End Try
SqlCeCommand cmd = null;
SqlCeDataAdapter adp = null;

try
{
    adp = new SqlCeDataAdapter();
    SqlCeConnection conn = new SqlCeConnection("Data Source = MyDatabase.sdf");

    // Create the SelectCommand
    //
    cmd = conn.CreateCommand();
    cmd.CommandText = "SELECT * FROM Orders WHERE [Ship Country] = @country AND [Ship City] = @city";
    cmd.Parameters.Add("@country", SqlDbType.NVarChar, 15);
    cmd.Parameters.Add("@city", SqlDbType.NVarChar, 15);

    cmd.Parameters["@country"].Value = "UK";
    cmd.Parameters["@city"].Value = "London";

    adp.SelectCommand = cmd;

    // Create the DeleteCommand
    //
    cmd = conn.CreateCommand();
    cmd.CommandText = "DELETE FROM Orders WHERE [Order ID] = @orderID";

    SqlCeParameter p = cmd.Parameters.Add("@orderID", SqlDbType.NChar, 5, "Order ID");
    p.SourceVersion = DataRowVersion.Original;

    adp.DeleteCommand = cmd;

    // Populate the dataset with the results from the SELECT statement
    //
    DataSet ds = new DataSet();
    adp.Fill(ds);

    // Modify the dataset
    //
    MessageBox.Show("Number of rows: " + ds.Tables[0].Rows.Count);

    // Delete some rows
    //
    ds.Tables[0].Rows[3].Delete();
    ds.Tables[0].Rows[4].Delete();

    // This will execute two DELETE statements 
    //
    adp.Update(ds.Tables[0]);
}
catch (Exception e)
{
    MessageBox.Show(e.Message);
}
finally
{
    if (null != adp.SelectCommand) adp.SelectCommand.Dispose();
    if (null != adp.DeleteCommand) adp.DeleteCommand.Dispose();
}

スレッド セーフ

この型の public static (Microsoft Visual Basic では Shared) のすべてのメンバーは、スレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。

関連項目

参照

System.Data.SqlServerCe 名前空間