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。)

上層

方法

  名稱 說明
公用方法 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) SqlCeParameter 加入至 SqlCeCommand (已知參數名稱、資料類型、資料行寬度和來源資料行名稱)。
公用方法 AddRange SqlCeParameter 物件陣列加入至 SqlCeParameterCollection。 (覆寫 DbParameterCollection.AddRange(Array)。)
公用方法 AddWithValue 將新的 SqlCeParameter 加入至 SqlCeParameterCollection,並設定其值。
公用方法 Clear 從集合移除所有項目。 (覆寫 DbParameterCollection.Clear()。)
公用方法 Contains(Object) 取得表示 SqlCeParameter 物件是否存在於集合中的值。 (覆寫 DbParameterCollection.Contains(Object)。)
公用方法 Contains(String) 取得表示 SqlCeParameter (具有指定的參數名稱) 是否存在於集合中的值。 (覆寫 DbParameterCollection.Contains(String)。)
公用方法 CopyTo SqlCeParameter 物件從 SqlCeParameterCollection 複製到指定的陣列。 (覆寫 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)

上層

明確 繼承 實作

  名稱 說明
明確介面實作私用屬性 IList.Item (繼承自 DbParameterCollection)
明確介面實作私用屬性 IDataParameterCollection.Item (繼承自 DbParameterCollection)

上層

備註

集合中的參數數目必須等於命令文字中參數替代符號的數目。否則,.NET Compact Framework Data Provider for SQL Server Compact 可能會引發錯誤。

範例

下列範例會透過 SqlCeDataAdapter 內的 SqlCeParameterCollection 集合,建立 SqlCeParameter 的多個執行個體。這些參數用於選取資料來源內的資料。接著會將資料放入 DataSet。這個範例假設已使用適當的結構描述、命令和連接建立了 DataSetSqlCeDataAdapter

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();
}

執行緒安全性

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

請參閱

參考

System.Data.SqlServerCe 命名空間