OracleCommand.Parameters Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém o OracleParameterCollection.
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 StoredProcedure
como , 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.