OleDbCommand.Parameters Свойство

Определение

Возвращает набор OleDbParameterCollection.Gets the OleDbParameterCollection.

public:
 property System::Data::OleDb::OleDbParameterCollection ^ Parameters { System::Data::OleDb::OleDbParameterCollection ^ get(); };
[System.Data.DataSysDescription("DbCommand_Parameters")]
public System.Data.OleDb.OleDbParameterCollection Parameters { get; }
member this.Parameters : System.Data.OleDb.OleDbParameterCollection
Public ReadOnly Property Parameters As OleDbParameterCollection

Значение свойства

Параметры инструкции SQL или хранимой процедуры.The parameters of the SQL statement or stored procedure. По умолчанию является пустой коллекцией.The default is an empty collection.

Атрибуты

Примеры

В следующем примере создается OleDbCommand и отображаются его параметры.The following example creates an OleDbCommand and displays its parameters. Для этого методу передается OleDbConnection, строка запроса, которая является инструкцией SQL SELECT, и массив объектов OleDbParameter.To accomplish this, the method is passed an OleDbConnection, a query string that is an SQL SELECT statement, and an array of OleDbParameter objects.

public void CreateMyOleDbCommand(OleDbConnection connection,
    string queryString, OleDbParameter[] parameters) 
{
    OleDbCommand command = new OleDbCommand(queryString, connection);
    command.CommandText = 
        "SELECT CustomerID, CompanyName FROM Customers WHERE Country = ? AND City = ?";
    command.Parameters.Add(parameters);

    for (int j=0; j<parameters.Length; j++)
    {
        command.Parameters.Add(parameters[j]) ;
    }

    string message = "";
    for (int i = 0; i < command.Parameters.Count; i++) 
    {
        message += command.Parameters[i].ToString() + "\n";
    }
    Console.WriteLine(message);
}
 Public Sub CreateMyOleDbCommand(connection As OleDbConnection, _
   queryString As String, parameters() As OleDbParameter)

    Dim command As New OleDbCommand(queryString, connection)
    command.CommandText = _
       "SELECT CustomerID, CompanyName FROM Customers WHERE Country = ? AND City = ?"
    command.Parameters.Add(parameters)

    Dim j As Integer
    For j = 0 To command.Parameters.Count - 1
       command.Parameters.Add(parameters(j))
    Next j

    Dim message As String = ""
    Dim i As Integer
    For i = 0 To command.Parameters.Count - 1
        message += command.Parameters(i).ToString() + ControlChars.Cr
    Next i
    Console.WriteLine(message)
End Sub

Комментарии

Поставщик OLE DB .NET не поддерживает именованные параметры для передачи параметров в инструкцию SQL или хранимую процедуру, вызываемую OleDbCommand, если для CommandType задано значение Text.The OLE DB .NET Provider does not support named parameters for passing parameters to an SQL statement or a stored procedure called by an OleDbCommand when CommandType is set to Text. В этом случае необходимо использовать заполнитель вопросительного знака (?).In this case, the question mark (?) placeholder must be used. Например:For example:

SELECT * FROM Customers WHERE CustomerID = ?

Таким образом, порядок, в котором OleDbParameter объекты добавляются в OleDbParameterCollection, должен напрямую соответствовать положению заполнителя вопросительного знака для параметра в тексте команды.Therefore, the order in which OleDbParameter objects are added to the OleDbParameterCollection must directly correspond to the position of the question mark placeholder for the parameter in the command text.

Примечание

Если параметры в коллекции не соответствуют требованиям выполняемого запроса, может возникнуть ошибка.If the parameters in the collection do not match the requirements of the query to be executed, an error may result.

Дополнительные сведения см. в разделе Настройка параметров и типов данных параметров.For more information, see Configuring Parameters and Parameter Data Types.

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

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