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 的數據提供者會自動提供冒號。
產品 | 版本 |
---|---|
.NET Framework | 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |