Partilhar via


OleDbParameter Classe

Definição

Representa um parâmetro para um OleDbCommand e, opcionalmente, o mapeamento para uma coluna DataSet. Essa classe não pode ser herdada.

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

Exemplos

O exemplo a seguir cria várias instâncias de OleDbParameter por meio da OleDbParameterCollection coleção dentro do OleDbDataAdapter. 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 OleDbDataAdapter já foram criados usando o esquema, os comandos e a conexão apropriados.

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

Comentários

O Provedor de Dados do OLE DB.NET Framework usa parâmetros posicionais marcados com um ponto de interrogação (?) em vez de parâmetros nomeados.

Ao consultar um banco de dados Oracle usando o MSDAORA (Provedor Microsoft OLE DB para Oracle) e o OLE DB.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 de campo fixo 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 SQL=.

Construtores

OleDbParameter()

Inicializa uma nova instância da classe OleDbParameter.

OleDbParameter(String, Object)

Inicializa uma nova instância da classe OleDbParameter que usa o nome do parâmetro e o valor do novo OleDbParameter.

OleDbParameter(String, OleDbType)

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

OleDbParameter(String, OleDbType, Int32)

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

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

Inicializa uma nova instância da classe OleDbParameter 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.

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

Inicializa uma nova instância da classe OleDbParameter 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.

OleDbParameter(String, OleDbType, Int32, String)

Inicializa uma nova instância da classe OleDbParameter 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.

OleDbType

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

ParameterName

Obtém ou define o nome de OleDbParameter.

Precision

Obtém ou define o número máximo 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, em bytes, dos dados 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 OleDbParameter.

ResetOleDbType()

Redefine o tipo associado a este OleDbParameter.

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