OdbcParameter Clase
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í.
Representa un parámetro a OdbcCommand y, opcionalmente, su asignación a .DataColumn Esta clase no puede heredarse.
public ref class OdbcParameter sealed : MarshalByRefObject, ICloneable, System::Data::IDbDataParameter
public ref class OdbcParameter sealed : System::Data::Common::DbParameter, ICloneable
[System.ComponentModel.TypeConverter(typeof(System.Data.Odbc.OdbcParameterConverter))]
public sealed class OdbcParameter : MarshalByRefObject, ICloneable, System.Data.IDbDataParameter
[System.ComponentModel.TypeConverter(typeof(System.Data.Odbc.OdbcParameter+OdbcParameterConverter))]
public sealed class OdbcParameter : System.Data.Common.DbParameter, ICloneable
[<System.ComponentModel.TypeConverter(typeof(System.Data.Odbc.OdbcParameterConverter))>]
type OdbcParameter = class
inherit MarshalByRefObject
interface IDbDataParameter
interface IDataParameter
interface ICloneable
[<System.ComponentModel.TypeConverter(typeof(System.Data.Odbc.OdbcParameter+OdbcParameterConverter))>]
type OdbcParameter = class
inherit DbParameter
interface ICloneable
interface IDbDataParameter
interface IDataParameter
Public NotInheritable Class OdbcParameter
Inherits MarshalByRefObject
Implements ICloneable, IDbDataParameter
Public NotInheritable Class OdbcParameter
Inherits DbParameter
Implements ICloneable
- Herencia
- Herencia
- Atributos
- Implementaciones
Ejemplos
En el ejemplo siguiente se crean varias instancias de a través de OdbcParameterOdbcParameterCollection dentro de .OdbcDataAdapter Estos parámetros se usan para seleccionar datos del origen de datos y colocar los datos en DataSet. En este ejemplo se supone que DataSet ya se ha creado y OdbcDataAdapter mediante el esquema, los comandos y la conexión adecuados.
public DataSet GetDataSetFromAdapter(
DataSet dataSet, string connectionString, string queryString)
{
using (OdbcConnection connection =
new OdbcConnection(connectionString))
{
OdbcDataAdapter adapter =
new OdbcDataAdapter(queryString, connection);
// Set the parameters.
adapter.SelectCommand.Parameters.Add(
"@CategoryName", OdbcType.VarChar, 80).Value = "toasters";
adapter.SelectCommand.Parameters.Add(
"@SerialNum", OdbcType.Int).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 OdbcConnection(connectionString)
Dim adapter As New OdbcDataAdapter(queryString, connection)
' Set the parameters.
adapter.SelectCommand.Parameters.Add( _
"@CategoryName", OdbcType.VarChar, 80).Value = "toasters"
adapter.SelectCommand.Parameters.Add( _
"@SerialNum", OdbcType.Int).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
Los nombres de parámetro no distinguen mayúsculas de minúsculas.
Al consultar una base de datos de Oracle mediante el proveedor OLE DB de Microsoft para Oracle (MSDAORA) y la Proveedor de datos ODBC .NET Framework, es posible que el uso de la cláusula LIKE para consultar los valores de los 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 de 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 devolverá 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 fija del campo de 3), que Oracle no trata como una coincidencia para el valor del parámetro "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 del parámetro ("a%") o use en su lugar una comparación de SQL = .
Constructores
| Nombre | Description |
|---|---|
| OdbcParameter() |
Inicializa una nueva instancia de la clase OdbcParameter. |
| OdbcParameter(String, Object) |
Inicializa una nueva instancia de la OdbcParameter clase que usa el nombre del parámetro y un OdbcParameter objeto . |
| OdbcParameter(String, OdbcType, Int32, ParameterDirection, Boolean, Byte, Byte, String, DataRowVersion, Object) |
Inicializa una nueva instancia de la OdbcParameter clase que usa el nombre del parámetro, el tipo de datos, la longitud, el nombre de columna de origen, la dirección del parámetro, la precisión numérica y otras propiedades. |
| OdbcParameter(String, OdbcType, Int32, ParameterDirection, Byte, Byte, String, DataRowVersion, Boolean, Object) |
Inicializa una nueva instancia de la OdbcParameter clase que usa el nombre del parámetro, el tipo de datos, la longitud, el nombre de columna de origen, la dirección del parámetro, la precisión numérica y otras propiedades. |
| OdbcParameter(String, OdbcType, Int32, String) |
Inicializa una nueva instancia de la OdbcParameter clase que usa el nombre del parámetro, el tipo de datos, la longitud y el nombre de columna de origen. |
| OdbcParameter(String, OdbcType, Int32) |
Inicializa una nueva instancia de la OdbcParameter clase que usa el nombre del parámetro, el tipo de datos y la longitud. |
| OdbcParameter(String, OdbcType) |
Inicializa una nueva instancia de la OdbcParameter clase que usa el nombre de parámetro y el tipo de datos. |
Propiedades
| Nombre | Description |
|---|---|
| DbType |
Obtiene o establece el DbType del parámetro . |
| Direction |
Obtiene o establece un valor que indica si el parámetro es de solo entrada, solo salida, bidireccional o un parámetro de valor devuelto de procedimiento almacenado. |
| IsNullable |
Obtiene o establece un valor que indica si el parámetro acepta valores NULL. |
| OdbcType |
Obtiene o establece el OdbcType del parámetro . |
| ParameterName |
Obtiene o establece el nombre de .OdbcParameter |
| Precision |
Obtiene o establece el número de dígitos usados para representar la Value propiedad . |
| Scale |
Obtiene o establece el número de posiciones decimales en las que Value se resuelve. |
| Size |
Obtiene o establece el tamaño máximo de los datos dentro de la columna. |
| SourceColumn |
Obtiene o establece el nombre de la columna de origen asignada a DataSet y utilizada para cargar o devolver .Value |
| SourceColumnNullMapping |
Obtiene o establece un valor que indica si la columna de origen admite valores NULL. Esto permite DbCommandBuilder generar correctamente instrucciones Update para columnas que aceptan valores NULL. |
| SourceVersion |
Obtiene o establece el objeto DataRowVersion que se va a usar al cargar Value. |
| Value |
Obtiene o establece el valor del parámetro . |
Métodos
| Nombre | Description |
|---|---|
| CreateObjRef(Type) |
Crea un objeto que contiene toda la información pertinente necesaria para generar un proxy usado para comunicarse con un objeto remoto. (Heredado de MarshalByRefObject) |
| Equals(Object) |
Determina si el objeto especificado es igual al objeto actual. (Heredado de Object) |
| GetHashCode() |
Actúa como la función hash predeterminada. (Heredado de Object) |
| GetLifetimeService() |
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() |
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 Objectactual. (Heredado de Object) |
| MemberwiseClone(Boolean) |
Crea una copia superficial del objeto actual MarshalByRefObject . (Heredado de MarshalByRefObject) |
| ResetDbType() |
Restablece el tipo asociado a este OdbcParameter. |
| ResetOdbcType() |
Restablece el tipo asociado a este OdbcParameter. |
| ToString() |
Obtiene una cadena que contiene .ParameterName |
Implementaciones de interfaz explícitas
| Nombre | Description |
|---|---|
| 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) |