OdbcParameter 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 OdbcCommand e opcionalmente, o seu mapeamento para um DataColumn. Esta classe não pode ser herdada.
public ref class OdbcParameter sealed : MarshalByRefObject, ICloneable, System::Data::IDbDataParameter
public ref class OdbcParameter sealed : 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
[<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 MarshalByRefObject
Implements ICloneable, IDbDataParameter
Public NotInheritable Class OdbcParameter
Inherits DbParameter
Implements ICloneable
- Herança
- Herança
- Atributos
- Implementações
Exemplos
O exemplo seguinte cria múltiplas instâncias de OdbcParameter através do OdbcParameterCollection interior do OdbcDataAdapter. 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 OdbcDataAdapter já foram criados usando o esquema, comandos e ligaçã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
Observações
Os nomes dos parâmetros não distinguem maiúsculas e minúsculas.
Ao consultar uma base de dados Oracle usando o Microsoft OLE DB Provider for Oracle (MSDAORA) e o Data Provider ODBC .NET Framework, 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 devolverá 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 |
|---|---|
| OdbcParameter() |
Inicializa uma nova instância da OdbcParameter classe. |
| OdbcParameter(String, Object) |
Inicializa uma nova instância da OdbcParameter classe que usa o nome do parâmetro e um OdbcParameter objeto. |
| OdbcParameter(String, OdbcType, Int32, ParameterDirection, Boolean, Byte, Byte, String, DataRowVersion, Object) |
Inicializa uma nova instância da OdbcParameter 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. |
| OdbcParameter(String, OdbcType, Int32, ParameterDirection, Byte, Byte, String, DataRowVersion, Boolean, Object) |
Inicializa uma nova instância da OdbcParameter 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. |
| OdbcParameter(String, OdbcType, Int32, String) |
Inicializa uma nova instância da OdbcParameter classe que utiliza o nome do parâmetro, tipo de dado, comprimento e nome da coluna de origem. |
| OdbcParameter(String, OdbcType, Int32) |
Inicializa uma nova instância da OdbcParameter classe que utiliza o nome do parâmetro, tipo de dado e comprimento. |
| OdbcParameter(String, OdbcType) |
Inicializa uma nova instância da OdbcParameter 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 |
Recebe 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. |
| OdbcType |
Obtém ou define o OdbcType do parâmetro. |
| ParameterName |
Obtém ou define o nome do OdbcParameter. |
| Precision |
Obtém ou define o número 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 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 OdbcParameter. |
| ResetOdbcType() |
Reinicia o tipo associado a este OdbcParameter. |
| 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) |