OracleCommand.Parameters Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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 StoredProcedure
en , 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.