OleDbCommand.Parameters Propriedade

Definição

public:
 property System::Data::OleDb::OleDbParameterCollection ^ Parameters { System::Data::OleDb::OleDbParameterCollection ^ get(); };
[System.Data.DataSysDescription("DbCommand_Parameters")]
public System.Data.OleDb.OleDbParameterCollection Parameters { get; }
member this.Parameters : System.Data.OleDb.OleDbParameterCollection
Public ReadOnly Property Parameters As OleDbParameterCollection

Valor da propriedade

Os parâmetros da instrução SQL ou do procedimento armazenado.The parameters of the SQL statement or stored procedure. O padrão é uma coleção vazia.The default is an empty collection.

Atributos

Exemplos

O exemplo a seguir cria um OleDbCommand e exibe seus parâmetros.The following example creates an OleDbCommand and displays its parameters. Para fazer isso, o método recebe um OleDbConnection, uma cadeia de caracteres de consulta que é uma instrução SQL SELECT e uma matriz de objetos OleDbParameter.To accomplish this, the method is passed an OleDbConnection, a query string that is an SQL SELECT statement, and an array of OleDbParameter objects.

public void CreateMyOleDbCommand(OleDbConnection connection,
    string queryString, OleDbParameter[] parameters) 
{
    OleDbCommand command = new OleDbCommand(queryString, connection);
    command.CommandText = 
        "SELECT CustomerID, CompanyName FROM Customers WHERE Country = ? AND City = ?";
    command.Parameters.Add(parameters);

    for (int j=0; j<parameters.Length; j++)
    {
        command.Parameters.Add(parameters[j]) ;
    }

    string message = "";
    for (int i = 0; i < command.Parameters.Count; i++) 
    {
        message += command.Parameters[i].ToString() + "\n";
    }
    Console.WriteLine(message);
}
 Public Sub CreateMyOleDbCommand(connection As OleDbConnection, _
   queryString As String, parameters() As OleDbParameter)

    Dim command As New OleDbCommand(queryString, connection)
    command.CommandText = _
       "SELECT CustomerID, CompanyName FROM Customers WHERE Country = ? AND City = ?"
    command.Parameters.Add(parameters)

    Dim j As Integer
    For j = 0 To command.Parameters.Count - 1
       command.Parameters.Add(parameters(j))
    Next j

    Dim message As String = ""
    Dim i As Integer
    For i = 0 To command.Parameters.Count - 1
        message += command.Parameters(i).ToString() + ControlChars.Cr
    Next i
    Console.WriteLine(message)
End Sub

Comentários

O provedor OLE DB .NET não dá suporte a parâmetros nomeados para passar parâmetros para uma instrução SQL ou um procedimento armazenado chamado por um OleDbCommand quando CommandType está definido como Text.The OLE DB .NET Provider does not support named parameters for passing parameters to an SQL statement or a stored procedure called by an OleDbCommand when CommandType is set to Text. Nesse caso, o espaço reservado de ponto de interrogação (?) deve ser usado.In this case, the question mark (?) placeholder must be used. Por exemplo:For example:

SELECT * FROM Customers WHERE CustomerID = ?

Portanto, a ordem na qual os objetos de OleDbParameter são adicionados ao OleDbParameterCollection deve corresponder diretamente à posição do espaço reservado de ponto de interrogação para o parâmetro no texto do comando.Therefore, the order in which OleDbParameter objects are added to the OleDbParameterCollection must directly correspond to the position of the question mark placeholder for the parameter in the command text.

Observação

Se os parâmetros na coleção não corresponderem aos requisitos da consulta a ser executada, poderá ocorrer um erro.If the parameters in the collection do not match the requirements of the query to be executed, an error may result.

Para obter mais informações, consulte configurando parâmetros e tipos de dados de parâmetro.For more information, see Configuring Parameters and Parameter Data Types.

Aplica-se a

Veja também