Поделиться через


OdbcParameter Класс

Определение

Представляет параметр для объекта OdbcCommand и (необязательно) его сопоставление с DataColumn. Этот класс не наследуется.

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
Наследование
OdbcParameter
Наследование
Наследование
OdbcParameter
Атрибуты
Реализации

Примеры

В следующем примере создается несколько экземпляров OdbcParameter с помощью OdbcParameterCollection в .OdbcDataAdapter Эти параметры используются для выбора данных из источника данных и их размещения в DataSet. В этом примере предполагается, что DataSet и OdbcDataAdapter уже созданы с помощью соответствующей схемы, команд и соединения.

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

Комментарии

В именах параметров регистр символов не учитывается.

При запросе базы данных Oracle с помощью поставщик OLE DB для Oracle (Майкрософт) (MSDAORA) и поставщика данных ODBC платформа .NET Framework использование LIKE предложения для запроса значений в полях фиксированной длины может не возвращать все ожидаемые совпадения. Причина заключается в том, что, когда Oracle сопоставляет значения для полей фиксированной LIKE длины в предложении, он соответствует всей длине строки, включая все заполненные конечные пробелы. Например, если таблица в базе данных Oracle содержит поле с именем Field1, определенное как char(3), и вы введете значение a в строку этой таблицы, следующий код не вернет строку.

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();  

Это связано с тем, что Oracle сохраняет значение столбца как "a" (заполнение "a" с конечными пробелами в фиксированной длине поля 3), которое Oracle не рассматривает как соответствие значению параметра "a" в случае LIKE сравнения полей фиксированной длины.

Чтобы устранить эту проблему, добавьте подстановочный знак процента ("%") к значению параметра ("a%") или используйте сравнение SQL = .

Конструкторы

OdbcParameter()

Инициализирует новый экземпляр класса OdbcParameter.

OdbcParameter(String, Object)

Инициализирует новый экземпляр класса OdbcParameter, использующий имя параметра и объект OdbcParameter.

OdbcParameter(String, OdbcType)

Выполняет инициализацию нового экземпляра класса OdbcParameter, использующего имя параметра и тип данных.

OdbcParameter(String, OdbcType, Int32)

Выполняет инициализацию нового экземпляра класса OdbcParameter, использующего имя параметра, тип данных и длину.

OdbcParameter(String, OdbcType, Int32, ParameterDirection, Boolean, Byte, Byte, String, DataRowVersion, Object)

Инициализирует новый экземпляр класса OdbcParameter, использующий имя параметра, тип данных, длину, имя исходного столбца, направление параметра, точность чисел и другие свойства.

OdbcParameter(String, OdbcType, Int32, ParameterDirection, Byte, Byte, String, DataRowVersion, Boolean, Object)

Инициализирует новый экземпляр класса OdbcParameter, использующий имя параметра, тип данных, длину, имя исходного столбца, направление параметра, точность чисел и другие свойства.

OdbcParameter(String, OdbcType, Int32, String)

Выполняет инициализацию нового экземпляра класса OdbcParameter, использующего имя параметра, тип данных, длину и имя столбца источника.

Свойства

DbType

Возвращает или устанавливает тип DbType параметра.

Direction

Возвращает или задает значение, указывающее, является ли параметр только входным, только выходным, двунаправленным или параметром, возвращаемым хранимой процедурой.

IsNullable

Возвращает или задает значение, указывающее, принимает ли этот параметр значения NULL.

OdbcType

Возвращает или устанавливает тип OdbcType параметра.

Offset

Представляет параметр для объекта OdbcCommand и (необязательно) его сопоставление с DataColumn. Этот класс не наследуется.

ParameterName

Возвращает или задает имя таблицы для объекта OdbcParameter.

Precision

Возвращает или задает количество знаков, используемых для представления свойства Value.

Scale

Возвращает или задает число десятичных разрядов, до которых вычисляется значение Value.

Size

Возвращает или задает максимальный размер данных в столбце.

SourceColumn

Возвращает или задает имя исходного столбца, сопоставленного DataSet и используемого для загрузки или возвращения значения Value.

SourceColumnNullMapping

Возвращает или задает значение, показывающее, допускает ли исходный столбец значения NULL. Это позволяет объекту DbCommandBuilder правильно генерировать операторы Update для столбцов, которые могут содержать значения null.

SourceVersion

Возвращает или задает значение DataRowVersion, используемое при загрузке Value.

Value

Возвращает или задает значение параметра.

Методы

CreateObjRef(Type)

Создает объект, который содержит всю необходимую информацию для создания прокси-сервера, используемого для взаимодействия с удаленным объектом.

(Унаследовано от MarshalByRefObject)
Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetLifetimeService()
Устаревшие..

Извлекает объект обслуживания во время существования, который управляет политикой времени существования данного экземпляра.

(Унаследовано от MarshalByRefObject)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
InitializeLifetimeService()
Устаревшие..

Получает объект службы времени существования для управления политикой времени существования для этого экземпляра.

(Унаследовано от MarshalByRefObject)
MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
MemberwiseClone(Boolean)

Создает неполную копию текущего объекта MarshalByRefObject.

(Унаследовано от MarshalByRefObject)
ResetDbType()

Сбрасывает тип, связанный с параметром OdbcParameter.

ResetOdbcType()

Сбрасывает тип, связанный с параметром OdbcParameter.

ToString()

Возвращает строку, содержащую имя ParameterName.

Явные реализации интерфейса

ICloneable.Clone()

Описание этого члена см. в разделе Clone().

IDbDataParameter.Precision

Указывает точность числовых параметров.

(Унаследовано от DbParameter)
IDbDataParameter.Scale

Описание этого члена см. в разделе Scale.

(Унаследовано от DbParameter)

Применяется к

См. также раздел