Share via


OdbcCommand.CommandText Properti

Definisi

Mendapatkan atau mengatur pernyataan SQL atau prosedur tersimpan untuk dijalankan terhadap sumber data.

public:
 virtual property System::String ^ CommandText { System::String ^ get(); void set(System::String ^ value); };
public:
 property System::String ^ CommandText { System::String ^ get(); void set(System::String ^ value); };
public override string CommandText { get; set; }
public string CommandText { get; set; }
member this.CommandText : string with get, set
Public Overrides Property CommandText As String
Public Property CommandText As String

Nilai Properti

Pernyataan SQL atau prosedur tersimpan untuk dijalankan. Nilai default adalah string kosong ("").

Penerapan

Keterangan

CommandType Ketika properti diatur ke StoredProcedure, CommandText properti harus diatur menggunakan urutan escape prosedur tersimpan ODBC standar. CommandText Mengatur ke nama prosedur tersimpan tidak berfungsi seperti yang dilakukan untuk penyedia data .NET Framework lainnya.

Banyak fitur bahasa, seperti gabungan luar dan panggilan fungsi skalar, umumnya diimplementasikan oleh sumber data. Bahkan sintaks untuk fitur-fitur ini umumnya khusus sumber data. Oleh karena itu, ODBC mendefinisikan urutan escape yang berisi sintaks standar untuk fitur bahasa berikut:

  • Literal tanggal, waktu, tanda waktu, dan interval tanggalwaktu

  • Fungsi skalar seperti fungsi konversi numerik, string, dan jenis data

  • KARAKTER escape predikat LIKE

  • Gabungan luar

  • Panggilan prosedur

Urutan escape yang digunakan oleh ODBC adalah sebagai berikut:

{extension}  

Urutan escape ini dikenali dan diurai oleh driver ODBC. Mereka kemudian mengganti urutan escape dengan tata bahasa khusus sumber data.

Prosedur adalah objek yang dapat dieksekusi yang disimpan di sumber data. Umumnya, ini adalah satu atau beberapa pernyataan SQL yang telah dikommpilasikan sebelumnya. Urutan escape untuk memanggil prosedur adalah

{[?=]call procedure-name[([parameter][,[parameter]]...)]}  

di mana procedure-name menentukan nama prosedur dan parameter menentukan parameter prosedur.

Perintah menjalankan prosedur tersimpan ini saat Anda memanggil salah satu metode Jalankan (misalnya, ExecuteReader atau ExecuteNonQuery).

Anda tidak dapat mengatur Connectionproperti , CommandType dan CommandText jika koneksi saat ini melakukan operasi eksekusi atau pengambilan.

Penyedia ODBC.NET tidak mendukung parameter bernama untuk meneruskan parameter ke pernyataan SQL atau prosedur tersimpan yang OdbcCommand dipanggil oleh ketika CommandType diatur ke Text. Dalam hal ini, tempat penampung tanda tanya (?) harus digunakan. Contohnya:

SELECT * FROM Customers WHERE CustomerID = ?  

Oleh karena itu, urutan di mana OdbcParameter objek ditambahkan ke OdbcParameterCollection harus secara langsung sesuai dengan posisi tempat penampung tanda tanya untuk parameter .

Jika parameter berisi nilai null, Penyedia Data .NET Framework untuk ODBC masih mengikat parameter tersebut, tetapi menggunakan parameter default, jika parameter telah ditentukan dengan menggunakan SQL_DEFAULT_PARAM, bukan nilai null. Misalnya, OdbcParameterCollection:

{1, null, 2}  

diteruskan ke CommandText properti :

{call sp(?, ?, ?)}  

menyebabkan Penyedia Data .NET Framework untuk ODBC yang mengikat parameter pertama ke nilai 1, parameter ketiga ke nilai 2, dan parameter kedua sebagai SQL_DEFAULT_PARAM. Namun, perilaku ini tergantung pada pengemudi. Jika driver tidak mendukung fungsionalitas ini, jangan meneruskan nilai untuk parameter . Misalnya, gunakan OdbcParameterCollection:

{1, 2}  

dan atur CommandText properti ke berikut ini:

{call sp(?, null, ?)}  

Catatan

Jika parameter dihilangkan, koma yang memisahkannya dari parameter lain masih harus muncul. Jika parameter input atau input/output dihilangkan, prosedur menggunakan nilai default parameter. Cara lain untuk menentukan nilai default parameter input atau input/output adalah dengan mengatur nilai buffer panjang/indikator yang terikat ke parameter ke SQL_DEFAULT_PARAM.

Berlaku untuk

Lihat juga