Share via


OracleCommand.Parameters Özellik

Tanım

OracleParameterCollection öğesini alır.

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

Özellik Değeri

SQL deyiminin veya saklı yordamın parametreleri. Varsayılan değer boş bir topluluktur.

Örnekler

Aşağıdaki örnek bir OracleCommand oluşturur ve parametrelerini görüntüler. Bunu başarmak için yöntemine, SQL SELECT deyimi olan bir sorgu dizesi ve bir nesne dizisi OracleParameter geçirilirOracleConnection.

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

Açıklamalar

CommandType özelliği olarak StoredProcedureCommandText ayarlandığında, özelliği saklı yordamın adına ayarlanmalıdır. Saklı yordam adında özel karakterler varsa, kullanıcının kaçış karakteri söz dizimini kullanması gerekebilir. Execute yöntemlerinden birini çağırdığınızda komut bu saklı yordamı yürütür.

Oracle için .NET Framework Veri Sağlayıcısı, tarafından çağrılan OracleCommand bir SQL deyimine parametre geçirmek için soru işareti (?) yer tutucusunu CommandType.Textdesteklemez. Bu durumda adlandırılmış parametreler kullanılmalıdır. Örnek:

SELECT * FROM Customers WHERE CustomerID = :pCustomerID  

tarafından çağrılan OracleCommandCommandType.Textbir SQL deyiminde adlandırılmış parametreler kullanırken, parametre adından önce iki nokta üst üste (:)) girmelisiniz. Ancak, saklı yordamda veya kodunuzun başka bir yerinde adlandırılmış parametreye başvururken (örneğin, özelliğine Parameters nesne eklerkenOracleParameter), adlandırılmış parametrenin önüne iki nokta üst üste (:)) eklemeyin. Oracle için .NET Framework Veri Sağlayıcısı, iki nokta üst üsteyi otomatik olarak sağlar.

Şunlara uygulanır

Ayrıca bkz.