OleDbParameter Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
- 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) |