Compartilhar via


OracleCommand.Parameters Propriedade

Definição

public:
 property System::Data::OracleClient::OracleParameterCollection ^ Parameters { System::Data::OracleClient::OracleParameterCollection ^ get(); };
public System.Data.OracleClient.OracleParameterCollection Parameters { get; }
member this.Parameters : System.Data.OracleClient.OracleParameterCollection
Public ReadOnly Property Parameters As OracleParameterCollection

Valor da propriedade

Os parâmetros da instrução SQL ou do procedimento armazenado. O padrão é uma coleção vazia.

Exemplos

O exemplo a seguir cria um OracleCommand e exibe seus parâmetros. Para fazer isso, o método recebe um OracleConnection, uma cadeia de caracteres de consulta que é uma instrução SQL SELECT e uma matriz de OracleParameter objetos .

public void CreateOracleCommand(OracleConnection connection,
    string queryString, OracleParameter[] myParamArray)
{

    OracleCommand command = new OracleCommand(queryString, connection);
    command.CommandText =
        "SELECT * FROM Emp WHERE Job = :pJob AND Sal = :pSal";

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

    string message = "";

    for (int i = 0; i < command.Parameters.Count; i++)
        message += command.Parameters[i].ToString() + "\n";

    Console.WriteLine(message);

    using (OracleDataReader row = command.ExecuteReader())
    {
        while(row.Read())
        {
            Console.WriteLine(row.GetValue(0));
        }
    }
}
Public Sub CreateOracleCommand(ByVal connection As OracleConnection, _
ByVal queryString As String, ByVal prmArray() As OracleParameter)

    Dim command As New OracleCommand(queryString, connection)
    command.CommandText = _
        "SELECT * FROM Emp WHERE Job = :pJob AND Sal = :pSal"

    Dim j As Integer
    For j = 0 To prmArray.Length - 1
        command.Parameters.Add(prmArray(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)

    Dim reader As OracleDataReader = command.ExecuteReader
    While reader.Read
        Console.WriteLine(reader.GetValue(0))
    End While

End Sub

Comentários

Quando a CommandType propriedade é definida StoredProcedurecomo , a CommandText propriedade deve ser definida como o nome do procedimento armazenado. O usuário poderá ser obrigado a usar a sintaxe de caractere de escape se o nome do procedimento armazenado contiver caracteres especiais. O comando executa esse procedimento armazenado quando você chama um dos métodos Execute.

O provedor de dados .NET Framework para Oracle não dá suporte ao espaço reservado de ponto de interrogação (?) para passar parâmetros para uma instrução SQL chamada por um OracleCommand de CommandType.Text. Nesse caso, parâmetros nomeados devem ser usados. Por exemplo:

SELECT * FROM Customers WHERE CustomerID = :pCustomerID  

Ao usar parâmetros nomeados em uma instrução SQL chamada por um OracleCommand de CommandType.Text, você deve preceder o nome do parâmetro com dois-pontos (:). No entanto, em um procedimento armazenado ou ao fazer referência a um parâmetro nomeado em outro lugar no código (por exemplo, ao adicionar OracleParameter objetos à Parameters propriedade ), não preceda o parâmetro nomeado com dois-pontos (:). O provedor de dados .NET Framework para Oracle fornece os dois-pontos automaticamente.

Aplica-se a

Confira também