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 автоматически предоставляет двоеточие.