Compartilhar via


Classe SqlCeParameterCollection

Coleta todos os parâmetros relevantes para um SqlCeCommand, além de seus respectivos mapeamentos em colunas do DataSet.

Hierarquia de herança

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

Namespace:  System.Data.SqlServerCe
Assembly:  System.Data.SqlServerCe (em System.Data.SqlServerCe.dll)

Sintaxe

'Declaração
Public NotInheritable Class SqlCeParameterCollection _
    Inherits DbParameterCollection
'Uso
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

O tipo SqlCeParameterCollection expõe os membros a seguir.

Propriedades

  Nome Descrição
Propriedade pública Count Obtém o número de objetos SqlCeParameter na coleção. (Substitui DbParameterCollection.Count.)
Propriedade pública IsFixedSize Infraestrutura. (Substitui DbParameterCollection.IsFixedSize.)
Propriedade pública IsReadOnly Infraestrutura. (Substitui DbParameterCollection.IsReadOnly.)
Propriedade pública IsSynchronized Infraestrutura. (Substitui DbParameterCollection.IsSynchronized.)
Propriedade pública Item[Int32] Obtém ou define o SqlCeParameter no índice especificado.
Propriedade pública Item[String] Obtém ou define o SqlCeParameter com o nome especificado.
Propriedade pública SyncRoot Infraestrutura. (Substitui DbParameterCollection.SyncRoot.)

Início

Métodos

  Nome Descrição
Método público Add(Object) Adiciona um objeto SqlCeParameter ao SqlCeCommand. (Substitui DbParameterCollection.Add(Object).)
Método público Add(SqlCeParameter) Adiciona o SqlCeParameter especificado à SqlCeParameterCollection.
Método público Add(String, SqlDbType) Adiciona um SqlCeParameter à SqlCeParameterCollection, dados o nome do parâmetro e o tipo de dados.
Método público Add(String, Object) Obsoleto. Adiciona um SqlCeParameter à SqlCeParameterCollection, dados o nome e o valor do parâmetro.
Método público Add(String, SqlDbType, Int32) Adiciona um SqlCeParameter à SqlCeParameterCollection, dados o nome do parâmetro, o tipo de dados e a largura da coluna.
Método público Add(String, SqlDbType, Int32, String) Adiciona um SqlCeParameter ao SqlCeCommand, de acordo com o nome do parâmetro, o tipo de dados, a largura da coluna e o nome da coluna de origem fornecidos.
Método público AddRange Adiciona uma matriz de objetos SqlCeParameter à SqlCeParameterCollection. (Substitui DbParameterCollection.AddRange(Array).)
Método público AddWithValue Adiciona um novo SqlCeParameter à SqlCeParameterCollection e define seu valor.
Método público Clear Remove todos os itens da coleção. (Substitui DbParameterCollection.Clear().)
Método público Contains(Object) Obtém um valor que indica se um objeto SqlCeParameter existe ou não na coleção. (Substitui DbParameterCollection.Contains(Object).)
Método público Contains(String) Obtém um valor que indica se um SqlCeParameter com o nome de parâmetro especificado existe na coleção. (Substitui DbParameterCollection.Contains(String).)
Método público CopyTo Copia objetos SqlCeParameter da SqlCeParameterCollection para a matriz especificada. (Substitui DbParameterCollection.CopyTo(Array, Int32).)
Método público CreateObjRef (herança de MarshalByRefObject)
Método público Equals (herança de Object)
Método protegido Finalize (herança de Object)
Método público GetEnumerator Infraestrutura. (Substitui DbParameterCollection.GetEnumerator().)
Método público GetHashCode (herança de Object)
Método público GetLifetimeService (herança de MarshalByRefObject)
Método protegido GetParameter(Int32) (herança de DbParameterCollection)
Método protegido GetParameter(String) (herança de DbParameterCollection)
Método público GetType (herança de Object)
Método público IndexOf(Object) Obtém o local do objeto SqlCeParameter na coleção. (Substitui DbParameterCollection.IndexOf(Object).)
Método público IndexOf(String) Obtém o local do SqlCeParameter na coleção com o nome de parâmetro especificado. (Substitui DbParameterCollection.IndexOf(String).)
Método público InitializeLifetimeService (herança de MarshalByRefObject)
Método público Insert Insere um SqlCeParameter na coleção, no índice especificado. (Substitui DbParameterCollection.Insert(Int32, Object).)
Método protegido MemberwiseClone() (herança de Object)
Método protegido MemberwiseClone(Boolean) (herança de MarshalByRefObject)
Método público Remove Remove o SqlCeParameter especificado da coleção. (Substitui DbParameterCollection.Remove(Object).)
Método público RemoveAt(Int32) Remove o SqlCeParameter no índice especificado da coleção. (Substitui DbParameterCollection.RemoveAt(Int32).)
Método público RemoveAt(String) Remove o SqlCeParameter com o nome especificado da coleção. (Substitui DbParameterCollection.RemoveAt(String).)
Método protegido SetParameter(Int32, DbParameter) (herança de DbParameterCollection)
Método protegido SetParameter(String, DbParameter) (herança de DbParameterCollection)
Método público ToString (herança de Object)

Início

Implementações de interfaces explícitas

  Nome Descrição
Implementações de interfaces explícitasPropriedade privada IList.Item (herança de DbParameterCollection)
Implementações de interfaces explícitasPropriedade privada IDataParameterCollection.Item (herança de DbParameterCollection)

Início

Comentários

O número de parâmetros na coleção deve ser igual ao número de espaços reservados para parâmetros no texto do comando. Caso contrário, o Provedor de Dados do .NET Compact Framework para SQL Server Compact poderá gerar um erro.

Exemplos

O exemplo a seguir cria várias instâncias de SqlCeParameter pela coleção SqlCeParameterCollection no SqlCeDataAdapter. Esses parâmetros são usados para selecionar dados na fonte de dados. Em seguida, eles colocam os dados no DataSet. Este exemplo presume que já foram criados um DataSet e um SqlCeDataAdapter com o esquema, os comandos e a conexão apropriados.

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

Segurança de thread

Qualquer membro estático público (Shared no Microsoft Visual Basic) desse tipo é seguro para threads. Não há garantia de que qualquer membro de instância seja seguro para threads.

Consulte também

Referência

Namespace System.Data.SqlServerCe