OdbcCommand.CommandText Properti
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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.