OracleCommand.Parameters 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
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 建立 並顯示其參數。 若要達成此目的,方法會傳遞 、 OracleConnectionSQL 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屬性應該設定為預存程序的名稱。 如果預存程式名稱包含任何特殊字元,則使用者可能需要使用逸出字元語法。 當您在呼叫其中一個 Execute 方法時,命令會執行這個預存程序。
.NET Framework Data Provider for Oracle 不支援問號 (?) 占位元,將參數傳遞至 的OracleCommandCommandType.Text
所呼叫的 SQL 語句。 在此情況下,必須使用具名參數。 例如:
SELECT * FROM Customers WHERE CustomerID = :pCustomerID
在 由 的 CommandType.Text
呼叫OracleCommand的 SQL 語句中使用具名參數時,您必須在參數名稱前面加上冒號 (:) 。 不過,在預存程式中,或在程式 (代碼中其他位置參考具名參數時,例如,將物件新增 OracleParameter 至 Parameters 屬性) 時,請勿在具名參數前面加上冒號 (:) 。 .NET Framework Oracle 的數據提供者會自動提供冒號。