OracleCommand.Parameters Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá .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
Hodnota vlastnosti
Parametry příkazu SQL nebo uložené procedury. Výchozí hodnotou je prázdná kolekce.
Příklady
Následující příklad vytvoří OracleCommand a zobrazí jeho parametry. K tomu se metodě předá OracleConnection, řetězec dotazu, který je příkazem SQL SELECT, a pole OracleParameter objektů.
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
Poznámky
CommandType Pokud je vlastnost nastavena CommandText na StoredProcedure
hodnotu , měla by být vlastnost nastavena na název uložené procedury. Pokud název uložené procedury obsahuje nějaké speciální znaky, může být nutné, aby uživatel použil syntaxi řídicího znaku. Příkaz spustí tuto uloženou proceduru při volání jedné z metod Execute.
Zprostředkovatel dat rozhraní .NET Framework pro Oracle nepodporuje zástupný symbol otazníku (?) pro předávání parametrů do příkazu SQL s názvem OracleCommandCommandType.Text
. V tomto případě je nutné použít pojmenované parametry. Příklad:
SELECT * FROM Customers WHERE CustomerID = :pCustomerID
Při použití pojmenovaných parametrů v příkazu SQL s OracleCommandCommandType.Text
názvem , musíte před název parametru zadat dvojtečku (:). V uložené proceduře nebo při odkazování na pojmenovaný parametr jinde v kódu (například při přidávání OracleParameter objektů do Parameters vlastnosti) však před pojmenovaný parametr nepoužívejte dvojtečku (:). Zprostředkovatel dat rozhraní .NET Framework pro Oracle poskytuje dvojtečku automaticky.