Compartir a través de


OracleCommand.Parameters Propiedad

Definición

Obtiene la estructura 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 de propiedad

Parámetros de la instrucción SQL o procedimiento almacenado. El valor predeterminado es una colección vacía.

Ejemplos

En el ejemplo siguiente se crea un OracleCommand objeto y se muestran sus parámetros. Para ello, el método se pasa a , OracleConnectionuna cadena de consulta que es una instrucción SELECT de SQL y una 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

Comentarios

Cuando la CommandType propiedad se establece StoredProcedureen , la CommandText propiedad debe establecerse en el nombre del procedimiento almacenado. Es posible que el usuario tenga que usar la sintaxis de caracteres de escape si el nombre del procedimiento almacenado contiene caracteres especiales. El comando ejecuta este procedimiento almacenado cuando se llama a uno de los métodos Execute.

El proveedor de datos de .NET Framework para Oracle no admite el marcador de posición de signo de interrogación (?) para pasar parámetros a una instrucción SQL llamada por un OracleCommand de CommandType.Text. En este caso, se deben usar parámetros con nombre. Por ejemplo:

SELECT * FROM Customers WHERE CustomerID = :pCustomerID  

Al usar parámetros con nombre en una instrucción SQL llamada por un OracleCommand de CommandType.Text, debe preceder al nombre del parámetro con dos puntos (:). Sin embargo, en un procedimiento almacenado o al hacer referencia a un parámetro con nombre en otro lugar del código (por ejemplo, al agregar OracleParameter objetos a la Parameters propiedad ), no preceda al parámetro con nombre con dos puntos (:). El proveedor de datos de .NET Framework para Oracle proporciona los dos puntos automáticamente.

Se aplica a

Consulte también