Compartir vía


OleDbParameter Clase

Definición

Representa un parámetro para un OleDbCommand y, de forma opcional, su asignación a una columna DataSet. Esta clase no puede heredarse.

public ref class OleDbParameter sealed : System::Data::Common::DbParameter, ICloneable
public ref class OleDbParameter sealed : MarshalByRefObject, ICloneable, System::Data::IDbDataParameter
[System.ComponentModel.TypeConverter(typeof(System.Data.OleDb.OleDbParameter+OleDbParameterConverter))]
public sealed class OleDbParameter : System.Data.Common.DbParameter, ICloneable
[System.ComponentModel.TypeConverter(typeof(System.Data.OleDb.OleDbParameterConverter))]
public sealed class OleDbParameter : MarshalByRefObject, ICloneable, System.Data.IDbDataParameter
[<System.ComponentModel.TypeConverter(typeof(System.Data.OleDb.OleDbParameter+OleDbParameterConverter))>]
type OleDbParameter = class
    inherit DbParameter
    interface IDataParameter
    interface IDbDataParameter
    interface ICloneable
[<System.ComponentModel.TypeConverter(typeof(System.Data.OleDb.OleDbParameterConverter))>]
type OleDbParameter = class
    inherit MarshalByRefObject
    interface IDbDataParameter
    interface IDataParameter
    interface ICloneable
[<System.ComponentModel.TypeConverter(typeof(System.Data.OleDb.OleDbParameter+OleDbParameterConverter))>]
type OleDbParameter = class
    inherit DbParameter
    interface ICloneable
    interface IDbDataParameter
    interface IDataParameter
Public NotInheritable Class OleDbParameter
Inherits DbParameter
Implements ICloneable
Public NotInheritable Class OleDbParameter
Inherits MarshalByRefObject
Implements ICloneable, IDbDataParameter
Herencia
Herencia
OleDbParameter
Atributos
Implementaciones

Ejemplos

En el ejemplo siguiente se crean varias instancias de a través de OleDbParameter la OleDbParameterCollection colección dentro de OleDbDataAdapter. Estos parámetros se usan para seleccionar datos del origen de datos y colocar los datos en DataSet. En este ejemplo se supone que ya se ha creado un DataSet y OleDbDataAdapter mediante el esquema, los comandos y la conexión adecuados.

public DataSet GetDataSetFromAdapter(
    DataSet dataSet, string connectionString, string queryString)
{
    using (OleDbConnection connection =
               new OleDbConnection(connectionString))
    {
        OleDbDataAdapter adapter =
            new OleDbDataAdapter(queryString, connection);

        // Set the parameters.
        adapter.SelectCommand.Parameters.Add(
            "@CategoryName", OleDbType.VarChar, 80).Value = "toasters";
        adapter.SelectCommand.Parameters.Add(
            "@SerialNum", OleDbType.Integer).Value = 239;

        // Open the connection and fill the DataSet.
        try
        {
            connection.Open();
            adapter.Fill(dataSet);
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
        }
        // The connection is automatically closed when the
        // code exits the using block.
    }
    return dataSet;
}
Public Function GetDataSetFromAdapter( _
    ByVal dataSet As DataSet, ByVal connectionString As String, _
    ByVal queryString As String) As DataSet

    Using connection As New OleDbConnection(connectionString)
        Dim adapter As New OleDbDataAdapter(queryString, connection)

        ' Set the parameters.
        adapter.SelectCommand.Parameters.Add( _
            "@CategoryName", OleDbType.VarChar, 80).Value = "toasters"
        adapter.SelectCommand.Parameters.Add( _
         "@SerialNum", OleDbType.Integer).Value = 239

        ' Open the connection and fill the DataSet.
        Try
            connection.Open()
            adapter.Fill(dataSet)
        Catch ex As Exception
            Console.WriteLine(ex.Message)
        End Try
        ' The connection is automatically closed when the
        ' code exits the Using block.
    End Using

    Return dataSet
End Function

Comentarios

El proveedor de datos OLE DB.NET Framework usa parámetros posicionales marcados con un signo de interrogación (?) en lugar de parámetros con nombre.

Al consultar una base de datos de Oracle mediante la Proveedor OLE DB de Microsoft para Oracle (MSDAORA) y el proveedor de datos OLE DB.NET Framework, es posible que el uso de la LIKE cláusula para consultar valores en campos de longitud fija no devuelva todas las coincidencias esperadas. El motivo es que cuando Oracle coincide con los valores de los campos de longitud fija en una LIKE cláusula , coincide con toda la longitud de la cadena, incluidos los espacios finales de relleno. Por ejemplo, si una tabla de una base de datos de Oracle contiene un campo denominado "Field1" que se define como char(3)y escribe el valor "a" en una fila de esa tabla, el código siguiente no devuelve la fila.

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()  
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 debe a que Oracle almacena el valor de columna como "a" (relleno "a", con espacios finales, a la longitud de campo fija de 3), que Oracle no trata como una coincidencia para el valor de parámetro de "a" en el caso de una LIKE comparación de campos de longitud fija.

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

Constructores

OleDbParameter()

Inicializa una nueva instancia de la clase OleDbParameter.

OleDbParameter(String, Object)

Inicializa una nueva instancia de la clase OleDbParameter con el nombre del parámetro y el valor del nuevo objeto OleDbParameter.

OleDbParameter(String, OleDbType)

Inicializa una nueva instancia de la clase OleDbParameter con el nombre de parámetro y el tipo de datos.

OleDbParameter(String, OleDbType, Int32)

Inicializa una nueva instancia de la clase OleDbParameter con el nombre de parámetro, el tipo de datos y la longitud.

OleDbParameter(String, OleDbType, Int32, ParameterDirection, Boolean, Byte, Byte, String, DataRowVersion, Object)

Inicializa una nueva instancia de la clase OleDbParameter que utiliza el nombre de parámetro, tipo de datos, longitud, nombre de columna de origen, dirección del parámetro, precisión numérica y otras propiedades.

OleDbParameter(String, OleDbType, Int32, ParameterDirection, Byte, Byte, String, DataRowVersion, Boolean, Object)

Inicializa una nueva instancia de la clase OleDbParameter que utiliza el nombre de parámetro, tipo de datos, longitud, nombre de columna de origen, dirección del parámetro, precisión numérica y otras propiedades.

OleDbParameter(String, OleDbType, Int32, String)

Inicializa una nueva instancia de la clase OleDbParameter con el nombre de parámetro, el tipo de datos, la longitud y el nombre de la columna de origen.

Propiedades

DbType

Obtiene o establece el DbType del parámetro.

Direction

Obtiene o establece un valor que indica si el parámetro es sólo de entrada, sólo de salida, bidireccional o un parámetro de un valor devuelto de procedimiento almacenado.

IsNullable

Obtiene o establece un valor que indica si el parámetro acepta valores null.

OleDbType

Obtiene o establece el OleDbType del parámetro.

ParameterName

Obtiene o establece el nombre de OleDbParameter.

Precision

Obtiene o establece el número máximo de dígitos usados para representar la propiedad Value.

Scale

Obtiene o establece el número de posiciones decimales con que se resuelve Value.

Size

Obtiene o establece el tamaño máximo, en bytes, de los datos de la columna.

SourceColumn

Obtiene o establece el nombre de la columna de origen asignada al objeto DataSet y utilizada para cargar o devolver la propiedad Value.

SourceColumnNullMapping

Obtiene o establece un valor que indica si la columna de origen admite valores NULL. Esto permite a DbCommandBuilder generar correctamente instrucciones Update para las columnas que aceptan valores NULL.

SourceVersion

Obtiene o establece la enumeración DataRowVersion que se va a utilizar a la hora de cargar Value.

Value

Obtiene o establece el valor del parámetro.

Métodos

CreateObjRef(Type)

Crea un objeto que contiene toda la información relevante necesaria para generar un proxy utilizado para comunicarse con un objeto remoto.

(Heredado de MarshalByRefObject)
Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetLifetimeService()
Obsoletos.

Recupera el objeto de servicio de duración actual que controla la directiva de duración de esta instancia.

(Heredado de MarshalByRefObject)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
InitializeLifetimeService()
Obsoletos.

Obtiene un objeto de servicio de duración para controlar la directiva de duración de esta instancia.

(Heredado de MarshalByRefObject)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
MemberwiseClone(Boolean)

Crea una copia superficial del objeto MarshalByRefObject actual.

(Heredado de MarshalByRefObject)
ResetDbType()

Restablece el tipo asociado a este OleDbParameter.

ResetOleDbType()

Restablece el tipo asociado a este OleDbParameter.

ToString()

Obtiene una cadena que contiene la propiedad ParameterName.

Implementaciones de interfaz explícitas

ICloneable.Clone()

Para obtener una descripción de este miembro, vea Clone().

IDbDataParameter.Precision

Indica la precisión de los parámetros numéricos.

(Heredado de DbParameter)
IDbDataParameter.Scale

Para obtener una descripción de este miembro, vea Scale.

(Heredado de DbParameter)

Se aplica a

Consulte también