OleDbParameter Класс

Определение

Представляет параметр для OleDbCommand и дополнительно его отображение для столбца DataSet.Represents a parameter to an OleDbCommand and optionally its mapping to a DataSet column. Этот класс не наследуется.This class cannot be inherited.

public ref class OleDbParameter sealed : System::Data::Common::DbParameter, ICloneable
[System.ComponentModel.TypeConverter(typeof(System.Data.OleDb.OleDbParameter/OleDbParameterConverter))]
[System.ComponentModel.TypeConverter(typeof(System.Data.OleDb.OleDbParameterConverter))]
public sealed class OleDbParameter : System.Data.Common.DbParameter, ICloneable
type OleDbParameter = class
    inherit DbParameter
    interface ICloneable
    interface IDbDataParameter
    interface IDataParameter
Public NotInheritable Class OleDbParameter
Inherits DbParameter
Implements ICloneable
Наследование
OleDbParameter
Атрибуты
Реализации

Примеры

В следующем примере создается несколько экземпляров OleDbParameter OleDbParameterCollection через коллекцию OleDbDataAdapterв.The following example creates multiple instances of OleDbParameter through the OleDbParameterCollection collection within the OleDbDataAdapter. Эти параметры используются для выбора данных из источника данных и размещения данных в DataSet.These parameters are used to select data from the data source and place the data in the DataSet. В этом примере предполагается DataSet , что OleDbDataAdapter объект и уже были созданы с помощью соответствующей схемы, команд и соединения.This example assumes that a DataSet and an OleDbDataAdapter have already been created by using the appropriate schema, commands, and connection.

public DataSet GetDataSetFromAdapter(
    DataSet dataSet, string connectionString, string queryString)
{
    using (OleDbConnection connection =
               new OleDbConnection(connectionString))
    {
        OleDbDataAdapter adapter =
            new OleDbDataAdapter(queryString, connection);

        // Set the parameters.
        adapter.SelectCommand.Parameters.Add(
            "@CategoryName", OleDbType.VarChar, 80).Value = "toasters";
        adapter.SelectCommand.Parameters.Add(
            "@SerialNum", OleDbType.Integer).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 OleDbConnection(connectionString)
        Dim adapter As New OleDbDataAdapter(queryString, connection)

        ' Set the parameters.
        adapter.SelectCommand.Parameters.Add( _
            "@CategoryName", OleDbType.VarChar, 80).Value = "toasters"
        adapter.SelectCommand.Parameters.Add( _
         "@SerialNum", OleDbType.Integer).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

Комментарии

Поставщик данных OLE DB.NET Framework использует позиционированные параметры, которые отмечены вопросительным знаком (?), а не именованными параметрами.The OLE DB.NET Framework Data Provider uses positional parameters that are marked with a question mark (?) instead of named parameters.

При запросе к базе данных Oracle с помощью поставщик OLE DB для Oracle (Майкрософт) (MSDAORA) и поставщика данных OLE DB.NET Framework использование LIKE предложения для запроса значений в полях фиксированной длины может не привести к возврату всех ожидаемых совпадений.When querying an Oracle database using the Microsoft OLE DB Provider for Oracle (MSDAORA) and the OLE DB.NET Framework Data Provider, using the LIKE clause to query values in fixed-length fields may not return all expected matches. Причина в том, что если Oracle сопоставляет значения для полей фиксированной длины в LIKE предложении, он соответствует всей длине строки, включая конечные пробелы заполнения.The reason is that when Oracle matches values for fixed-length fields in a LIKE clause, it matches the entire length of the string, including any padding trailing spaces. Например, если таблица в базе данных Oracle содержит поле с именем "Field1", которое определено как char(3), и вы вводите значение "a" в строку этой таблицы, следующий код не возвращает строку.For example, if a table in an Oracle database contains a field named "Field1" that is defined as char(3), and you enter the value "a" into a row of that table, the following code does not return the row.

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 сравнения полей фиксированной длины.This is because Oracle stores the column value as "a " (padding "a", with trailing spaces, to the fixed field length of 3), which Oracle does not treat as a match for the parameter value of "a" in the case of a LIKE comparison of fixed-length fields.

Чтобы устранить эту проблему, добавьте символ-шаблон в процентах ("%") в значение параметра"a%"() или используйте вместо этого = сравнение SQL.To resolve this problem, append a percentage ("%") wildcard character to the parameter value ("a%"), or use an SQL = comparison instead.

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

OleDbParameter()

Инициализирует новый экземпляр класса OleDbParameter.Initializes a new instance of the OleDbParameter class.

OleDbParameter(String, Object)

Инициализирует новый экземпляр класса OleDbParameter, использующий имя параметра и значение нового объекта OleDbParameter.Initializes a new instance of the OleDbParameter class that uses the parameter name and the value of the new OleDbParameter.

OleDbParameter(String, OleDbType)

Выполняет инициализацию нового экземпляра класса OleDbParameter, использующего имя параметра и тип данных.Initializes a new instance of the OleDbParameter class that uses the parameter name and data type.

OleDbParameter(String, OleDbType, Int32)

Выполняет инициализацию нового экземпляра класса OleDbParameter, использующего имя параметра, тип данных и длину.Initializes a new instance of the OleDbParameter class that uses the parameter name, data type, and length.

OleDbParameter(String, OleDbType, Int32, ParameterDirection, Boolean, Byte, Byte, String, DataRowVersion, Object)

Инициализирует новый экземпляр класса OleDbParameter, использующий имя параметра, тип данных, длину, имя исходного столбца, направление параметра, точность чисел и другие свойства.Initializes a new instance of the OleDbParameter class that uses the parameter name, data type, length, source column name, parameter direction, numeric precision, and other properties.

OleDbParameter(String, OleDbType, Int32, ParameterDirection, Byte, Byte, String, DataRowVersion, Boolean, Object)

Инициализирует новый экземпляр класса OleDbParameter, использующий имя параметра, тип данных, длину, имя исходного столбца, направление параметра, точность чисел и другие свойства.Initializes a new instance of the OleDbParameter class that uses the parameter name, data type, length, source column name, parameter direction, numeric precision, and other properties.

OleDbParameter(String, OleDbType, Int32, String)

Выполняет инициализацию нового экземпляра класса OleDbParameter, использующего имя параметра, тип данных, длину и имя столбца источника.Initializes a new instance of the OleDbParameter class that uses the parameter name, data type, length, and source column name.

Свойства

DbType

Возвращает или устанавливает тип DbType параметра.Gets or sets the DbType of the parameter.

Direction

Возвращает или задает значение, определяющее, предназначен ли параметр только для ввода, только для вывода, является ли он двунаправленным или возвращается хранимой процедурой.Gets or sets a value that indicates whether the parameter is input-only, output-only, bidirectional, or a stored procedure return-value parameter.

IsNullable

Возвращает или задает значение, указывающее, принимает ли этот параметр значения NULL.Gets or sets a value that indicates whether the parameter accepts null values.

Offset
OleDbType

Возвращает или устанавливает тип OleDbType параметра.Gets or sets the OleDbType of the parameter.

ParameterName

Возвращает или задает имя таблицы для объекта OleDbParameter.Gets or sets the name of the OleDbParameter.

Precision

Возвращает или задает максимальное число разрядов, используемых для представления свойства Value.Gets or sets the maximum number of digits used to represent the Value property.

Scale

Возвращает или задает число десятичных разрядов, до которых вычисляется значение Value.Gets or sets the number of decimal places to which Value is resolved.

Size

Возвращает или задает максимальную длину данных (в байтах) в столбце.Gets or sets the maximum size, in bytes, of the data within the column.

SourceColumn

Возвращает или задает имя исходного столбца, сопоставленного DataSet и используемого для загрузки или возвращения значения Value.Gets or sets the name of the source column mapped to the DataSet and used for loading or returning the Value.

SourceColumnNullMapping

Возвращает или задает значение, показывающее, допускает ли исходный столбец значение NULL.Sets or gets a value which indicates whether the source column is nullable. Это позволяет DbCommandBuilder правильно создавать инструкции Update для столбцов со значением NULL.This allows DbCommandBuilder to correctly generate Update statements for nullable columns.

SourceVersion

Возвращает или задает значение DataRowVersion, используемое при загрузке Value.Gets or sets the DataRowVersion to use when you load Value.

Value

Возвращает или задает значение параметра.Gets or sets the value of the parameter.

Методы

CreateObjRef(Type)

Создает объект, который содержит всю необходимую информацию для создания прокси-сервера, используемого для взаимодействия с удаленным объектом.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

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

Определяет, равен ли заданный объект текущему объекту.Determines whether the specified object is equal to the current object.

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

Служит хэш-функцией по умолчанию.Serves as the default hash function.

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

Извлекает объект обслуживания во время существования, который управляет политикой времени существования данного экземпляра.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

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

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

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

Получает объект службы времени существования для управления политикой времени существования для этого экземпляра.Obtains a lifetime service object to control the lifetime policy for this instance.

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

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

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

Создает неполную копию текущего объекта MarshalByRefObject.Creates a shallow copy of the current MarshalByRefObject object.

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

Сбрасывает тип, связанный с параметром OleDbParameter.Resets the type associated with this OleDbParameter.

ResetOleDbType()

Сбрасывает тип, связанный с параметром OleDbParameter.Resets the type associated with this OleDbParameter.

ToString()

Возвращает строку, содержащую имя ParameterName.Gets a string that contains the ParameterName.

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

ICloneable.Clone()

Описание этого члена см. в разделе Clone().For a description of this member, see Clone().

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

Дополнительно