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
[<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
- Наследование
- Наследование
- Наследование
- Атрибуты
- Реализации
Примеры
В следующем примере создается несколько экземпляров OdbcParameterOdbcParameterCollection внутри.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 с помощью предложения Microsoft OLE DB Provider for Oracle (MSDAORA) и ODBC .NET Framework Data Provider, используя предложение 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, 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 столбца. |
| OdbcParameter(String, OdbcType, Int32) |
Инициализирует новый экземпляр OdbcParameter класса, использующего имя параметра, тип данных и длину. |
| OdbcParameter(String, OdbcType) |
Инициализирует новый экземпляр OdbcParameter класса, использующего имя параметра и тип данных. |
Свойства
| Имя | Описание |
|---|---|
| DbType |
Возвращает или задает DbType параметр. |
| Direction |
Возвращает или задает значение, указывающее, является ли параметр возвращаемым значением только входных данных, только выходом, двунаправленным или возвращаемым параметром хранимой процедуры. |
| IsNullable |
Возвращает или задает значение, указывающее, принимает ли параметр значения NULL. |
| OdbcType |
Возвращает или задает OdbcType параметр. |
| ParameterName |
Возвращает или задает имя OdbcParameterобъекта . |
| Precision |
Возвращает или задает число цифр, используемых для представления Value свойства. |
| Scale |
Возвращает или задает число десятичных разрядов, для которых Value разрешено. |
| Size |
Возвращает или задает максимальный размер данных в столбце. |
| SourceColumn |
Возвращает или задает имя исходного столбца, сопоставленного с DataSet и используемым для загрузки или возврата Value. |
| SourceColumnNullMapping |
Возвращает или задает значение, указывающее, является ли исходный столбец пустым. Это позволяет DbCommandBuilder правильно создавать инструкции Update для столбцов, допускающих значение NULL. |
| SourceVersion |
Возвращает или задает значение, используемое при загрузке DataRowVersionValue. |
| 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) |