OleDbParameter Classe

Definição

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

public ref class OleDbParameter sealed : MarshalByRefObject, ICloneable, System::Data::IDbDataParameter
public ref class OleDbParameter sealed : 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))]
public sealed class OleDbParameter : System.Data.Common.DbParameter, 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 MarshalByRefObject
Implements ICloneable, IDbDataParameter
Public NotInheritable Class OleDbParameter
Inherits DbParameter
Implements ICloneable
Herança
OleDbParameter
Herança
Atributos
Implementações

Exemplos

O exemplo seguinte cria múltiplas instâncias de OleDbParameter através da OleDbParameterCollection coleção dentro do OleDbDataAdapter. 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 OleDbDataAdapter já foram criados usando o esquema, comandos e ligaçã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

Observações

O OLE DB.NET Framework Data Provider utiliza parâmetros posicionais marcados com um ponto de interrogação (?) em vez de parâmetros nomeados.

Ao consultar uma base de dados Oracle usando o Microsoft OLE DB Provider for Oracle (MSDAORA) e o OLE DB.NET Framework Data Provider, 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 devolve 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
OleDbParameter()

Inicializa uma nova instância da OleDbParameter classe.

OleDbParameter(String, Object)

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

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

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

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

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

OleDbParameter(String, OleDbType, Int32, String)

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

OleDbParameter(String, OleDbType, Int32)

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

OleDbParameter(String, OleDbType)

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

Obtém 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.

OleDbType

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

ParameterName

Obtém ou define o nome do OleDbParameter.

Precision

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

ResetOleDbType()

Reinicia o tipo associado a este OleDbParameter.

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