OleDbParameter Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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
- 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) |