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


OracleCommand.Parameters Свойство

Определение

Возвращает набор OracleParameterCollection.

public:
 property System::Data::OracleClient::OracleParameterCollection ^ Parameters { System::Data::OracleClient::OracleParameterCollection ^ get(); };
public System.Data.OracleClient.OracleParameterCollection Parameters { get; }
member this.Parameters : System.Data.OracleClient.OracleParameterCollection
Public ReadOnly Property Parameters As OracleParameterCollection

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

Параметры инструкции SQL или хранимой процедуры. По умолчанию является пустой коллекцией.

Примеры

В следующем примере создается OracleCommand и отображаются его параметры. Для этого методу передается OracleConnection, строка запроса, которая является инструкцией SQL SELECT, и массив OracleParameter объектов .

public void CreateOracleCommand(OracleConnection connection,
    string queryString, OracleParameter[] myParamArray)
{

    OracleCommand command = new OracleCommand(queryString, connection);
    command.CommandText =
        "SELECT * FROM Emp WHERE Job = :pJob AND Sal = :pSal";

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

    string message = "";

    for (int i = 0; i < command.Parameters.Count; i++)
        message += command.Parameters[i].ToString() + "\n";

    Console.WriteLine(message);

    using (OracleDataReader row = command.ExecuteReader())
    {
        while(row.Read())
        {
            Console.WriteLine(row.GetValue(0));
        }
    }
}
Public Sub CreateOracleCommand(ByVal connection As OracleConnection, _
ByVal queryString As String, ByVal prmArray() As OracleParameter)

    Dim command As New OracleCommand(queryString, connection)
    command.CommandText = _
        "SELECT * FROM Emp WHERE Job = :pJob AND Sal = :pSal"

    Dim j As Integer
    For j = 0 To prmArray.Length - 1
        command.Parameters.Add(prmArray(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)

    Dim reader As OracleDataReader = command.ExecuteReader
    While reader.Read
        Console.WriteLine(reader.GetValue(0))
    End While

End Sub

Комментарии

Если свойству CommandType присвоено значение StoredProcedure, для CommandText свойства должно быть задано имя хранимой процедуры. Пользователю может потребоваться использовать синтаксис escape-символов, если имя хранимой процедуры содержит какие-либо специальные символы. Команда выполняет эту хранимую процедуру при вызове одного из методов Execute.

Поставщик данных платформа .NET Framework для Oracle не поддерживает заполнитель вопросительного знака (?) для передачи параметров в инструкцию SQL, вызываемую OracleCommandCommandType.Textс помощью . В этом случае необходимо использовать именованные параметры. Пример:

SELECT * FROM Customers WHERE CustomerID = :pCustomerID  

При использовании именованных параметров в инструкции SQL, вызываемой параметром OracleCommandCommandType.Text, необходимо предварять имя параметра двоеточием (:). Однако в хранимой процедуре или при ссылке на именованный параметр в другом месте кода (например, при добавлении OracleParameter объектов в свойство) не следует предшествовать Parameters именованному параметру двоеточием (:). Поставщик данных платформа .NET Framework для Oracle автоматически предоставляет двоеточие.

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

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