OdbcParameter 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 OdbcCommand e, opcionalmente, seu mapeamento para um DataColumn. Essa classe não pode ser herdada.
public ref class OdbcParameter sealed : System::Data::Common::DbParameter, ICloneable
public ref class OdbcParameter sealed : MarshalByRefObject, ICloneable, System::Data::IDbDataParameter
public sealed class OdbcParameter : System.Data.Common.DbParameter, ICloneable
[System.ComponentModel.TypeConverter(typeof(System.Data.Odbc.OdbcParameterConverter))]
public sealed class OdbcParameter : MarshalByRefObject, ICloneable, System.Data.IDbDataParameter
[System.ComponentModel.TypeConverter(typeof(System.Data.Odbc.OdbcParameter+OdbcParameterConverter))]
public sealed class OdbcParameter : System.Data.Common.DbParameter, ICloneable
type OdbcParameter = class
inherit DbParameter
interface IDataParameter
interface IDbDataParameter
interface ICloneable
type OdbcParameter = class
inherit DbParameter
interface ICloneable
interface IDataParameter
interface IDbDataParameter
[<System.ComponentModel.TypeConverter(typeof(System.Data.Odbc.OdbcParameterConverter))>]
type OdbcParameter = class
inherit MarshalByRefObject
interface IDbDataParameter
interface IDataParameter
interface ICloneable
[<System.ComponentModel.TypeConverter(typeof(System.Data.Odbc.OdbcParameter+OdbcParameterConverter))>]
type OdbcParameter = class
inherit DbParameter
interface ICloneable
interface IDbDataParameter
interface IDataParameter
Public NotInheritable Class OdbcParameter
Inherits DbParameter
Implements ICloneable
Public NotInheritable Class OdbcParameter
Inherits MarshalByRefObject
Implements ICloneable, IDbDataParameter
- Herança
- Herança
- Herança
- Atributos
- Implementações
Exemplos
O exemplo a seguir cria várias instâncias de por meio do OdbcParameterOdbcParameterCollection dentro do OdbcDataAdapter. 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 OdbcDataAdapter já foram criados usando o esquema, os comandos e a conexão apropriados.
public DataSet GetDataSetFromAdapter(
DataSet dataSet, string connectionString, string queryString)
{
using (OdbcConnection connection =
new OdbcConnection(connectionString))
{
OdbcDataAdapter adapter =
new OdbcDataAdapter(queryString, connection);
// Set the parameters.
adapter.SelectCommand.Parameters.Add(
"@CategoryName", OdbcType.VarChar, 80).Value = "toasters";
adapter.SelectCommand.Parameters.Add(
"@SerialNum", OdbcType.Int).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 OdbcConnection(connectionString)
Dim adapter As New OdbcDataAdapter(queryString, connection)
' Set the parameters.
adapter.SelectCommand.Parameters.Add( _
"@CategoryName", OdbcType.VarChar, 80).Value = "toasters"
adapter.SelectCommand.Parameters.Add( _
"@SerialNum", OdbcType.Int).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
Os nomes dos parâmetros não diferenciam maiúsculas de minúsculas.
Ao consultar um banco de dados Oracle usando o Provedor Microsoft OLE DB para Oracle (MSDAORA) e o ODBC .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 fixo do campo 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 de SQL=
.
Construtores
OdbcParameter() |
Inicializa uma nova instância da classe OdbcParameter. |
OdbcParameter(String, Object) |
Inicializa uma nova instância da classe OdbcParameter que usa o nome do parâmetro e um objeto OdbcParameter. |
OdbcParameter(String, OdbcType) |
Inicializa uma nova instância da classe OdbcParameter que usa o nome do parâmetro e o tipo de dados. |
OdbcParameter(String, OdbcType, Int32) |
Inicializa uma nova instância da classe OdbcParameter que usa o nome do parâmetro, o tipo de dados e o tamanho. |
OdbcParameter(String, OdbcType, Int32, ParameterDirection, Boolean, Byte, Byte, String, DataRowVersion, Object) |
Inicializa uma nova instância da classe OdbcParameter 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. |
OdbcParameter(String, OdbcType, Int32, ParameterDirection, Byte, Byte, String, DataRowVersion, Boolean, Object) |
Inicializa uma nova instância da classe OdbcParameter 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. |
OdbcParameter(String, OdbcType, Int32, String) |
Inicializa uma nova instância da classe OdbcParameter 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. |
OdbcType |
Obtém ou define o OdbcType do parâmetro. |
Offset |
Representa um parâmetro para um OdbcCommand e, opcionalmente, seu mapeamento para um DataColumn. Essa classe não pode ser herdada. |
ParameterName |
Obtém ou define o nome de OdbcParameter. |
Precision |
Obtém ou define o número 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 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 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 OdbcParameter. |
ResetOdbcType() |
Redefine o tipo associado a este OdbcParameter. |
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) |