OdbcParameter Classe

Definição

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

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
Herança
OdbcParameter
Herança
Atributos
Implementações

Exemplos

O exemplo seguinte cria múltiplas instâncias de OdbcParameter através do OdbcParameterCollection interior do OdbcDataAdapter. Estes parâmetros são usados para selecionar dados da fonte de dados e colocar os dados no DataSet. Este exemplo assume que a DataSet e an OdbcDataAdapter já foram criados usando o esquema, comandos e ligaçã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

Observações

Os nomes dos parâmetros não distinguem maiúsculas e minúsculas.

Ao consultar uma base de dados Oracle usando o Microsoft OLE DB Provider for Oracle (MSDAORA) e o Data Provider ODBC .NET Framework, usar a cláusula LIKE para consultar valores em campos de comprimento fixo pode não devolver todas as correspondências esperadas. A razão é que, quando o Oracle corresponde aos valores dos campos de comprimento fixo numa LIKE cláusula, corresponde a todo o comprimento da cadeia, incluindo quaisquer espaços de preenchimento que terminem. Por exemplo, se uma tabela numa base de dados Oracle contiver um campo chamado "Field1" definido como char(3), e inserir o valor "a" numa linha dessa tabela, o código seguinte não devolverá 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();

Isto deve-se ao facto de a Oracle armazenar o valor da coluna como "a" (preenchendo "a", com espaços finais, para o comprimento fixo do campo 3), que a Oracle não trata como correspondência para o valor do parâmetro "a" no caso de uma LIKE comparação de campos de comprimento fixo.

Para resolver este problema, adicione um carácter coringa percentual ("%") ao valor do parâmetro ("a%"), ou use uma comparação SQL = em vez disso.

Construtores

Name Description
OdbcParameter()

Inicializa uma nova instância da OdbcParameter classe.

OdbcParameter(String, Object)

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

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

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

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

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

OdbcParameter(String, OdbcType, Int32, String)

Inicializa uma nova instância da OdbcParameter classe que utiliza o nome do parâmetro, tipo de dado, comprimento e nome da coluna de origem.

OdbcParameter(String, OdbcType, Int32)

Inicializa uma nova instância da OdbcParameter classe que utiliza o nome do parâmetro, tipo de dado e comprimento.

OdbcParameter(String, OdbcType)

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

Propriedades

Name Description
DbType

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

Direction

Recebe ou define um valor que indica se o parâmetro é apenas de entrada, apenas saída, bidirecional ou um parâmetro de retorno de 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.

ParameterName

Obtém ou define o nome do OdbcParameter.

Precision

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

Scale

Obtém ou define o número de casas decimais para as quais 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 devolver o Value.

SourceColumnNullMapping

Recebe ou define um valor que indica se a coluna de origem é anulável. Isto permite DbCommandBuilder gerar corretamente instruções Update para colunas anuláveis.

SourceVersion

Obtém ou define o DataRowVersion para usar quando carregas Value.

Value

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

Métodos

Name Description
CreateObjRef(Type)

Cria um objeto que contém toda a informação relevante necessária para gerar um proxy usado para 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 função de hash predefinida.

(Herdado de Object)
GetLifetimeService()

Recupera o objeto de serviço de tempo de vida atual que controla a política de vida útil neste caso.

(Herdado de MarshalByRefObject)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
InitializeLifetimeService()

Obtém-se um objeto de serviço vitalício para controlar a apólice vitalícia neste caso.

(Herdado de MarshalByRefObject)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
MemberwiseClone(Boolean)

Cria uma cópia superficial do objeto atual MarshalByRefObject .

(Herdado de MarshalByRefObject)
ResetDbType()

Reinicia o tipo associado a este OdbcParameter.

ResetOdbcType()

Reinicia o tipo associado a este OdbcParameter.

ToString()

Obtém-se uma cadeia que contém o ParameterName.

Implementações de Interface Explícita

Name Description
ICloneable.Clone()

Para uma descrição deste elemento, veja Clone().

IDbDataParameter.Precision

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

(Herdado de DbParameter)
IDbDataParameter.Scale

Para uma descrição deste elemento, veja Scale.

(Herdado de DbParameter)

Aplica-se a

Ver também