OleDbParameter Classe

Definição

Representa um parâmetro para um OleDbCommand e, opcionalmente, o mapeamento para uma coluna DataSet.Represents a parameter to an OleDbCommand and optionally its mapping to a DataSet column. Essa classe não pode ser herdada.This class cannot be inherited.

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

Exemplos

O exemplo a seguir cria várias instâncias do OleDbParameter por meio da OleDbParameterCollection coleção dentro do OleDbDataAdapter .The following example creates multiple instances of OleDbParameter through the OleDbParameterCollection collection within the OleDbDataAdapter. Esses parâmetros são usados para selecionar dados da fonte de dados e colocá-los no DataSet .These parameters are used to select data from the data source and place the data in the DataSet. Este exemplo supõe que um DataSet e um OleDbDataAdapter já tenham sido criados usando o esquema, os comandos e a conexão apropriados.This example assumes that a DataSet and an OleDbDataAdapter have already been created by using the appropriate schema, commands, and connection.

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 de estrutura OLE DB.NET usa parâmetros posicionais que são marcados com um ponto de interrogação (?) em vez de parâmetros nomeados.The OLE DB.NET Framework Data Provider uses positional parameters that are marked with a question mark (?) instead of named parameters.

Ao consultar um banco de dados Oracle usando o Provedor Microsoft OLE DB para Oracle (MSDAORA) e a estrutura OLE DB.NET Provedor de Dados, usar a LIKE cláusula para consultar valores em campos de comprimento fixo pode não retornar todas as correspondências esperadas.When querying an Oracle database using the Microsoft OLE DB Provider for Oracle (MSDAORA) and the OLE DB.NET Framework Data Provider, using the LIKE clause to query values in fixed-length fields may not return all expected matches. O motivo é que, quando o Oracle corresponde a valores de campos de comprimento fixo em uma LIKE cláusula, ele corresponde ao comprimento total da cadeia de caracteres, incluindo quaisquer espaços à direita do preenchimento.The reason is that when Oracle matches values for fixed-length fields in a LIKE clause, it matches the entire length of the string, including any padding trailing spaces. Por exemplo, se uma tabela em um banco de dados Oracle contiver um campo chamado "Field1" que é 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.For example, if a table in an Oracle database contains a field named "Field1" that is defined as char(3), and you enter the value "a" into a row of that table, the following code does not return the row.

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 o Oracle armazena o valor da coluna como "a" (enchimento "a", com espaços à direita, para o tamanho 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.This is because Oracle stores the column value as "a " (padding "a", with trailing spaces, to the fixed field length of 3), which Oracle does not treat as a match for the parameter value of "a" in the case of a LIKE comparison of fixed-length fields.

Para resolver esse problema, acrescente um caractere curinga percentual ("%") ao valor do parâmetro ( "a%" ) ou use uma comparação SQL = em vez disso.To resolve this problem, append a percentage ("%") wildcard character to the parameter value ("a%"), or use an SQL = comparison instead.

Construtores

OleDbParameter()

Inicializa uma nova instância da classe OleDbParameter.Initializes a new instance of the OleDbParameter class.

OleDbParameter(String, Object)

Inicializa uma nova instância da classe OleDbParameter que usa o nome do parâmetro e o valor do novo OleDbParameter.Initializes a new instance of the OleDbParameter class that uses the parameter name and the value of the new OleDbParameter.

OleDbParameter(String, OleDbType)

Inicializa uma nova instância da classe OleDbParameter que usa o nome do parâmetro e o tipo de dados.Initializes a new instance of the OleDbParameter class that uses the parameter name and data type.

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.Initializes a new instance of the OleDbParameter class that uses the parameter name, data type, and length.

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.Initializes a new instance of the OleDbParameter class that uses the parameter name, data type, length, source column name, parameter direction, numeric precision, and other properties.

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.Initializes a new instance of the OleDbParameter class that uses the parameter name, data type, length, source column name, parameter direction, numeric precision, and other properties.

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.Initializes a new instance of the OleDbParameter class that uses the parameter name, data type, length, and source column name.

Propriedades

DbType

Obtém ou define o DbType do parâmetro.Gets or sets the DbType of the parameter.

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.Gets or sets a value that indicates whether the parameter is input-only, output-only, bidirectional, or a stored procedure return-value parameter.

IsNullable

Obtém ou define um valor que indica se o parâmetro aceita valores nulos.Gets or sets a value that indicates whether the parameter accepts null values.

Offset
OleDbType

Obtém ou define o OleDbType do parâmetro.Gets or sets the OleDbType of the parameter.

ParameterName

Obtém ou define o nome de OleDbParameter.Gets or sets the name of the OleDbParameter.

Precision

Obtém ou define o número máximo de dígitos usados para representar a propriedade Value.Gets or sets the maximum number of digits used to represent the Value property.

Scale

Obtém ou define o número de casas decimais para as quais o Value é resolvido.Gets or sets the number of decimal places to which Value is resolved.

Size

Obtém ou define o tamanho máximo, em bytes, dos dados da coluna.Gets or sets the maximum size, in bytes, of the data within the column.

SourceColumn

Obtém ou define o nome da coluna de origem mapeada para o DataSet e usada para carregar ou retornar o Value.Gets or sets the name of the source column mapped to the DataSet and used for loading or returning the Value.

SourceColumnNullMapping

Obtém ou define um valor que indica se a coluna de origem permite valor nulo.Gets or sets a value which indicates whether the source column is nullable. Isso permite que DbCommandBuilder gere corretamente instruções Update para colunas que permitem valor nulo.This allows DbCommandBuilder to correctly generate Update statements for nullable columns.

SourceVersion

Obtém ou define o DataRowVersion a ser usado ao carregar Value.Gets or sets the DataRowVersion to use when you load Value.

Value

Obtém ou define o valor do parâmetro.Gets or sets the value of the parameter.

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.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Herdado de MarshalByRefObject)
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.Determines whether the specified object is equal to the current object.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.Serves as the default hash function.

(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.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Herdado de MarshalByRefObject)
GetType()

Obtém o Type da instância atual.Gets the Type of the current instance.

(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.Obtains a lifetime service object to control the lifetime policy for this instance.

(Herdado de MarshalByRefObject)
MemberwiseClone()

Cria uma cópia superficial do Object atual.Creates a shallow copy of the current Object.

(Herdado de Object)
MemberwiseClone(Boolean)

Cria uma cópia superficial do objeto MarshalByRefObject atual.Creates a shallow copy of the current MarshalByRefObject object.

(Herdado de MarshalByRefObject)
ResetDbType()

Redefine o tipo associado a este OleDbParameter.Resets the type associated with this OleDbParameter.

ResetOleDbType()

Redefine o tipo associado a este OleDbParameter.Resets the type associated with this OleDbParameter.

ToString()

Obtém uma cadeia de caracteres que contém o ParameterName.Gets a string that contains the ParameterName.

Implantações explícitas de interface

ICloneable.Clone()

Para obter uma descrição desse membro, confira Clone().For a description of this member, see Clone().

IDataParameter.SourceVersion

Obtém ou define o DataRowVersion a ser usado ao carregar Value.Gets or sets the DataRowVersion to use when loading Value.

(Herdado de DbParameter)
IDbDataParameter.Precision

Indica a precisão de parâmetros numéricos.Indicates the precision of numeric parameters.

(Herdado de DbParameter)
IDbDataParameter.Scale

Para obter uma descrição desse membro, confira Scale.For a description of this member, see Scale.

(Herdado de DbParameter)

Aplica-se a