Share via


OracleCommand.Parameters Properti

Definisi

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

Nilai Properti

Parameter pernyataan SQL atau prosedur tersimpan. Defaultnya adalah koleksi kosong.

Contoh

Contoh berikut membuat OracleCommand dan menampilkan parameternya. Untuk mencapai hal ini, metode diteruskan OracleConnection, string kueri yang merupakan pernyataan SQL SELECT, dan array OracleParameter objek.

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

Keterangan

CommandType Ketika properti diatur ke StoredProcedure, CommandText properti harus diatur ke nama prosedur tersimpan. Pengguna mungkin diharuskan untuk menggunakan sintaks karakter escape jika nama prosedur tersimpan berisi karakter khusus. Perintah menjalankan prosedur tersimpan ini saat Anda memanggil salah satu metode Execute.

Penyedia Data .NET Framework untuk Oracle tidak mendukung tempat penampung tanda tanya (?) untuk meneruskan parameter ke pernyataan SQL yang OracleCommand dipanggil oleh dari CommandType.Text. Dalam hal ini, parameter bernama harus digunakan. Contohnya:

SELECT * FROM Customers WHERE CustomerID = :pCustomerID  

Saat menggunakan parameter bernama dalam pernyataan SQL yang OracleCommand dipanggil oleh , CommandType.TextAnda harus mendahului nama parameter dengan titik dua (:). Namun, dalam prosedur tersimpan, atau ketika merujuk ke parameter bernama di tempat lain dalam kode Anda (misalnya, saat menambahkan OracleParameter objek ke Parameters properti ), jangan mendahului parameter bernama dengan titik dua (:). Penyedia Data .NET Framework untuk Oracle memasok titik dua secara otomatis.

Berlaku untuk

Lihat juga