OracleCommand.Parameters プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
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 作成し、そのパラメーターを表示します。 これを実現するために、 メソッドには、 、SQL SELECT ステートメントであるクエリ文字列、および オブジェクトのOracleParameter配列が渡OracleConnectionされます。
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 プロパティをストアド プロシージャの名前に設定します。 ストアド プロシージャ名に特殊文字が含まれている場合、エスケープ文字構文を使用する必要があります。 Execute メソッドのいずれかを呼び出すと、コマンドによりこのストアド プロシージャが実行されます。
.NET Framework Data Provider for Oracle では、 の によって呼び出される SQL ステートメントにパラメーターを渡すための疑問符 (?) プレースホルダーはOracleCommandCommandType.Text
サポートされていません。 この場合は、名前付きパラメーターを使用する必要があります。 次に例を示します。
SELECT * FROM Customers WHERE CustomerID = :pCustomerID
の によってOracleCommandCommandType.Text
呼び出される SQL ステートメントで名前付きパラメーターを使用する場合は、パラメーター名の前にコロン (:)を付ける必要があります。 ただし、ストアド プロシージャの場合、またはコード内の別の場所で名前付きパラメーターを参照する場合 (たとえば、プロパティにオブジェクトを追加 OracleParameter する場合)、名前付きパラメーターの前に Parameters コロン (:)を付けないでください。 .NET Framework Data Provider for Oracle では、コロンが自動的に提供されます。
適用対象
こちらもご覧ください
.NET