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, seu mapeamento para uma DataSet coluna. Essa 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
- Herança
- Atributos
- Implementações
Exemplos
O exemplo a seguir cria várias instâncias por OleDbParameter 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 OLE DB.NET Framework Provedor de Dados 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 provedor Microsoft OLE DB para Oracle (MSDAORA) e o OLE DB.NET Framework Provedor de Dados, usar a cláusula LIKE 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 de parâmetro de "a" no caso de uma LIKE comparação de campos de comprimento fixo.
Para resolver esse problema, acrescente uma porcentagem ("%") caractere curinga ao valor do parâmetro ("a%") ou use uma comparação sql = em vez disso.
Construtores
| Nome | Description |
|---|---|
| OleDbParameter() |
Inicializa uma nova instância da classe OleDbParameter. |
| OleDbParameter(String, Object) |
Inicializa uma nova instância da OleDbParameter classe que usa 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 classe que usa o nome do parâmetro, o tipo de dados, o comprimento, o nome da coluna de origem, a direção do parâmetro, a OleDbParameter 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 que usa o nome do parâmetro, o tipo de dados, o comprimento, o nome da coluna de origem, a direção do parâmetro, a OleDbParameter precisão numérica e outras propriedades. |
| OleDbParameter(String, OleDbType, Int32, String) |
Inicializa uma nova instância da classe que usa o nome do parâmetro, o tipo de dados, o comprimento e o nome da OleDbParameter coluna de origem. |
| OleDbParameter(String, OleDbType, Int32) |
Inicializa uma nova instância da OleDbParameter classe que usa o nome do parâmetro, o tipo de dados e o comprimento. |
| OleDbParameter(String, OleDbType) |
Inicializa uma nova instância da OleDbParameter classe que usa o nome do parâmetro e o tipo de dados. |
Propriedades
| Nome | Description |
|---|---|
| DbType |
Obtém ou define o DbType parâmetro. |
| Direction |
Obtém ou define um valor que indica se o parâmetro é somente entrada, somente saída, bidirecional ou um parâmetro de valor retornado 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 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 a DataSet e usada para carregar ou retornar o Value. |
| SourceColumnNullMapping |
Obtém ou define um valor que indica se a coluna de origem é anulável. Isso permite DbCommandBuilder gerar corretamente instruções update para colunas anuláveis. |
| SourceVersion |
Obtém ou define o DataRowVersion uso a ser usado quando você carrega Value. |
| Value |
Obtém ou define o valor do parâmetro. |
Métodos
| Nome | Description |
|---|---|
| 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 hash predefinida. (Herdado de Object) |
| GetLifetimeService() |
Recupera o objeto de serviço de tempo de vida atual que controla a política de tempo de vida para essa instância. (Herdado de MarshalByRefObject) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| InitializeLifetimeService() |
Obtém um objeto de serviço de tempo de vida para controlar a política de tempo de vida dessa instância. (Herdado de MarshalByRefObject) |
| MemberwiseClone() |
Cria uma cópia superficial do Objectatual. (Herdado de Object) |
| MemberwiseClone(Boolean) |
Cria uma cópia superficial do objeto atual MarshalByRefObject . (Herdado de MarshalByRefObject) |
| ResetDbType() |
Redefine o tipo associado a isso OleDbParameter. |
| ResetOleDbType() |
Redefine o tipo associado a isso OleDbParameter. |
| ToString() |
Obtém uma cadeia de caracteres que contém o ParameterName. |
Implantações explícitas de interface
| Nome | Description |
|---|---|
| ICloneable.Clone() |
Para obter uma descrição deste membro, consulte Clone(). |
| IDbDataParameter.Precision |
Indica a precisão dos parâmetros numéricos. (Herdado de DbParameter) |
| IDbDataParameter.Scale |
Para obter uma descrição deste membro, consulte Scale. (Herdado de DbParameter) |