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 с помощью 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) |