Biblioteca de clases de .NET Framework
OracleParameter (Clase)

Representa un parámetro para un objeto OracleCommand y, opcionalmente, su asignación a un objeto DataColumn. Esta clase no se puede heredar.

Espacio de nombres: System.Data.OracleClient
Ensamblado: System.Data.OracleClient (en system.data.oracleclient.dll)

Sintaxis

Visual Basic (Declaración)
Public NotInheritable Class OracleParameter
    Inherits DbParameter
    Implements ICloneable, IDbDataParameter, IDataParameter
Visual Basic (Uso)
Dim instance As OracleParameter
C#
public sealed class OracleParameter : DbParameter, ICloneable, IDbDataParameter, IDataParameter
C++
public ref class OracleParameter sealed : public DbParameter, ICloneable, IDbDataParameter, IDataParameter
J#
public final class OracleParameter extends DbParameter implements ICloneable, IDbDataParameter, 
    IDataParameter
JScript
public final class OracleParameter extends DbParameter implements ICloneable, IDbDataParameter, 
    IDataParameter
Comentarios

Los nombres de parámetros no distinguen entre mayúsculas y minúsculas.

Cuando se realiza una consulta en una base de datos de Oracle mediante el proveedor Microsoft OLE DB para Oracle (MSDAORA) y el proveedor de datos de .NET Framework para ODBC, el uso de la cláusula LIKE para consultar los valores en campos de longitud fija puede no devolver todas las coincidencias esperadas. El motivo es que cuando Oracle compara los valores de los campos de longitud fija con una cláusula LIKE, hace coincidir toda la longitud de la cadena, incluyendo los espacios finales de relleno que pueda haber. Por ejemplo, si una tabla de una base de datos de Oracle contiene un campo denominado "Field1" que se define como char(3) y se escribe el valor "a" en una fila de esa tabla, el siguiente código no devolverá la fila.

Visual Basic
Dim queryString As String = "SELECT * FROM Table1 WHERE Field1 LIKE ?"
Dim command As OleDbCommand = New OleDbCommand(queryString, connection)
command.Parameters.Add("@p1", OleDbType.Char, 3).Value = "a"
Dim reader As OleDbDataReader = command.ExecuteReader()
C#
string queryString = "SELECT * FROM Table1 WHERE Field1 LIKE ?";
OleDbCommand command = new OleDbCommand(queryString, connection);
command.Parameters.Add("@p1", OleDbType.Char, 3).Value = "a";
OleDbDataReader reader = command.ExecuteReader();

Esto se produce porque Oracle almacena los valores de columna como "a " (rellenando "a" con espacios finales hasta alcanzar una longitud fija de campo igual a 3), de modo que Oracle no considera "a " una coincidencia para el valor de parámetro "a" cuando se utiliza una comparación LIKE de campos de longitud fija.

Para resolver este problema, anexe un carácter comodín de porcentaje ("%") al valor de parámetro ("a%") o utilice una comparación = de SQL en su lugar.

Ejemplo

En el ejemplo siguiente se crean varias instancias de OracleParameter a través de la colección OracleParameterCollection incluida en OracleDataAdapter. Estos parámetros se utilizan para seleccionar datos de la base de datos y colocarlos en DataSet. En este ejemplo se supone que ya se han creado un objeto DataSet y un objeto OracleDataAdapter utilizando el esquema, los comandos y la conexión adecuados.

Visual Basic
Public Sub AddOracleParameters()
    ' ...
    ' create dataSet and adapter
    ' ...
adapter.SelectCommand.Parameters.Add("pEName", OracleType.VarChar, 80).Value = "Smith"
adapter.SelectCommand.Parameters.Add("pEmpNo", OracleType.Int32).Value = 7369
adapter.Fill(dataSet)
End Sub 
C#
public void AddOracleParameters() 
 {
 // ...
 // create dataSet and adapter
 // ...
   adapter.SelectCommand.Parameters.Add("pEName", OracleType.VarChar, 80).Value = "Smith";
   adapter.SelectCommand.Parameters.Add("pEmpNo", OracleType.Int32).Value = 7369;
   adapter.Fill(dataSet);
 }
Jerarquía de herencia

System.Object
   System.MarshalByRefObject
     System.Data.Common.DbParameter
      System.Data.OracleClient.OracleParameter
Seguridad para subprocesos

Los miembros estáticos públicos (Shared en Visual Basic) de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.
Plataformas

Windows 98, Windows 2000 SP4, Windows Millennium, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter Edition

.NET Framework no admite todas las versiones de cada plataforma. Para obtener una lista de las versiones admitidas, vea Requisitos del sistema.

Información de versión

.NET Framework

Compatible con: 2.0, 1.1
Vea también

Etiquetas :


Page view tracker