OdbcParameter Classe

Definição

Representa um parâmetro para um OdbcCommand e, opcionalmente, seu mapeamento para um DataColumn. Essa classe não pode ser herdada.

public ref class OdbcParameter sealed : System::Data::Common::DbParameter, ICloneable
public ref class OdbcParameter sealed : MarshalByRefObject, ICloneable, System::Data::IDbDataParameter
public sealed class OdbcParameter : 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
type OdbcParameter = class
    inherit DbParameter
    interface IDataParameter
    interface IDbDataParameter
    interface ICloneable
type OdbcParameter = class
    inherit DbParameter
    interface ICloneable
    interface IDataParameter
    interface IDbDataParameter
[<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 DbParameter
Implements ICloneable
Public NotInheritable Class OdbcParameter
Inherits MarshalByRefObject
Implements ICloneable, IDbDataParameter
Herança
OdbcParameter
Herança
Herança
OdbcParameter
Atributos
Implementações

Exemplos

O exemplo a seguir cria várias instâncias de por meio do OdbcParameterOdbcParameterCollection dentro do OdbcDataAdapter. Esses parâmetros são usados para selecionar dados da fonte de dados e colocar os dados no DataSet. Este exemplo pressupõe que um DataSet e um OdbcDataAdapter já foram criados usando o esquema, os comandos e a conexão apropriados.

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

Comentários

Os nomes dos parâmetros não diferenciam maiúsculas de minúsculas.

Ao consultar um banco de dados Oracle usando o Provedor Microsoft OLE DB para Oracle (MSDAORA) e o ODBC .NET Framework Data Provider, usar a LIKE cláusula para consultar valores em campos de comprimento fixo pode não retornar todas as correspondências esperadas. O motivo é que, quando o Oracle corresponde a valores para campos de comprimento fixo em uma LIKE cláusula, ele corresponde a todo o comprimento da cadeia de caracteres, incluindo quaisquer espaços à direita de preenchimento. Por exemplo, se uma tabela em um banco de dados Oracle contiver um campo chamado "Field1" definido como char(3)e você inserir o valor "a" em uma linha dessa tabela, o código a seguir não retornará a linha.

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();  

Isso ocorre porque a Oracle armazena o valor da coluna como "a" (preenchimento "a", com espaços à direita, para o comprimento fixo do campo de 3), que o Oracle não trata como uma correspondência para o valor do parâmetro de "a" no caso de uma LIKE comparação de campos de comprimento fixo.

Para resolve esse problema, acrescente um caractere curinga percentual ("%") ao valor do parâmetro ("a%") ou use uma comparação de SQL=.

Construtores

OdbcParameter()

Inicializa uma nova instância da classe OdbcParameter.

OdbcParameter(String, Object)

Inicializa uma nova instância da classe OdbcParameter que usa o nome do parâmetro e um objeto OdbcParameter.

OdbcParameter(String, OdbcType)

Inicializa uma nova instância da classe OdbcParameter que usa o nome do parâmetro e o tipo de dados.

OdbcParameter(String, OdbcType, Int32)

Inicializa uma nova instância da classe OdbcParameter que usa o nome do parâmetro, o tipo de dados e o tamanho.

OdbcParameter(String, OdbcType, Int32, ParameterDirection, Boolean, Byte, Byte, String, DataRowVersion, Object)

Inicializa uma nova instância da classe OdbcParameter que usa o nome do parâmetro, o tipo de dados, o tamanho, o nome da coluna de origem, a direção de parâmetro, a precisão numérica e outras propriedades.

OdbcParameter(String, OdbcType, Int32, ParameterDirection, Byte, Byte, String, DataRowVersion, Boolean, Object)

Inicializa uma nova instância da classe OdbcParameter que usa o nome do parâmetro, o tipo de dados, o tamanho, o nome da coluna de origem, a direção de parâmetro, a precisão numérica e outras propriedades.

OdbcParameter(String, OdbcType, Int32, String)

Inicializa uma nova instância da classe OdbcParameter que usa o nome do parâmetro, o tipo de dados, o tamanho e o nome da coluna de origem.

Propriedades

DbType

Obtém ou define o DbType do parâmetro.

Direction

Obtém ou define um valor que indica se o parâmetro é apenas de entrada, saída, bidirecional ou um parâmetro de valor retornado do procedimento armazenado.

IsNullable

Obtém ou define um valor que indica se o parâmetro aceita valores nulos.

OdbcType

Obtém ou define o OdbcType do parâmetro.

Offset

Representa um parâmetro para um OdbcCommand e, opcionalmente, seu mapeamento para um DataColumn. Essa classe não pode ser herdada.

ParameterName

Obtém ou define o nome de OdbcParameter.

Precision

Obtém ou define o número de dígitos usados para representar a propriedade Value.

Scale

Obtém ou define o número de casas decimais para as quais o Value é resolvido.

Size

Obtém ou define o tamanho máximo dos dados dentro da coluna.

SourceColumn

Obtém ou define o nome da coluna de origem mapeada para o DataSet e usada para carregar ou retornar o Value.

SourceColumnNullMapping

Obtém ou define um valor que indica se a coluna de origem permite valor nulo. Isso permite que DbCommandBuilder gere corretamente instruções Update para colunas que permitem valor nulo.

SourceVersion

Obtém ou define o DataRowVersion a ser usado ao carregar Value.

Value

Obtém ou define o valor do parâmetro.

Métodos

CreateObjRef(Type)

Cria um objeto que contém todas as informações relevantes necessárias para gerar um proxy usado para se comunicar com um objeto remoto.

(Herdado de MarshalByRefObject)
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetLifetimeService()
Obsoleto.

Recupera o objeto de serviço de tempo de vida atual que controla a política de ciclo de vida para esta instância.

(Herdado de MarshalByRefObject)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
InitializeLifetimeService()
Obsoleto.

Obtém um objeto de serviço de tempo de vida para controlar a política de tempo de vida para essa instância.

(Herdado de MarshalByRefObject)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
MemberwiseClone(Boolean)

Cria uma cópia superficial do objeto MarshalByRefObject atual.

(Herdado de MarshalByRefObject)
ResetDbType()

Redefine o tipo associado a este OdbcParameter.

ResetOdbcType()

Redefine o tipo associado a este OdbcParameter.

ToString()

Obtém uma cadeia de caracteres que contém o ParameterName.

Implantações explícitas de interface

ICloneable.Clone()

Para obter uma descrição desse membro, confira Clone().

IDbDataParameter.Precision

Indica a precisão de parâmetros numéricos.

(Herdado de DbParameter)
IDbDataParameter.Scale

Para obter uma descrição desse membro, confira Scale.

(Herdado de DbParameter)

Aplica-se a

Confira também