Sdílet prostřednictvím


OracleCommand.Parameters Vlastnost

Definice

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 StoredProcedurehodnotu , 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.Textná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.

Platí pro

Viz také