Rumah > pembangunan bahagian belakang > C++ > Adakah Perintah Parameter OleDbCommand Penting Apabila CommandType ialah Teks?

Adakah Perintah Parameter OleDbCommand Penting Apabila CommandType ialah Teks?

DDD
Lepaskan: 2024-12-30 17:46:12
asal
149 orang telah melayarinya

Does OleDbCommand Parameter Order Matter When CommandType is Text?

Tempahan dan Keutamaan Parameter OleDbCommand: Kes Jangkaan Tidak Sejajar

Apabila membina pertanyaan menggunakan OleDbCommand, adalah penting untuk memastikan susunan parameter dengan tepat mengikuti urutan dalam pernyataan SQL. Salah tanggapan biasa berkisar pada andaian bahawa parameter yang dinamakan menghapuskan keperluan ini. Walau bagaimanapun, seperti yang didedahkan oleh sesi penyahpepijatan yang mendalam, OleDbCommand tidak mempunyai sokongan untuk parameter yang dinamakan apabila CommandType ditetapkan kepada Teks.

Dalam contoh yang diberikan:

SELECT * FROM tblSomeThing WHERE id = @id AND debut = @dtDebut AND fin = @dtFin
Salin selepas log masuk

Parameter ditambahkan dalam susunan berikut:

cmd.Parameters.Add("@id", OleDbType.Integer).Value = idSociete;
cmd.Parameters.Add("@dtFin", OleDbType.Date).Value = dateTraitementFin;
cmd.Parameters.Add("@dtDebut", OleDbType.Date).Value = dateTraitementDebut;
Salin selepas log masuk

Walau bagaimanapun, tiada keputusan dikembalikan, menunjukkan ketidakkonsistenan. Setelah menyusun semula parameter agar sepadan dengan pernyataan SQL, pertanyaan berjaya dilaksanakan:

cmd.Parameters.Add("@id", OleDbType.Integer).Value = idSociete;
cmd.Parameters.Add("@dtDebut", OleDbType.Date).Value = dateTraitementDebut;
cmd.Parameters.Add("@dtFin", OleDbType.Date).Value = dateTraitementFin;
Salin selepas log masuk

Ini sejajar dengan dokumentasi di http://msdn.microsoft.com/en-us/library/system.data. oledb.oledbcommand.parameters.aspx, yang menyatakan dengan jelas bahawa OleDbCommand tidak menyokong parameter bernama untuk pernyataan SQL dalam mod Teks. Sebaliknya, ruang letak tanda soal (?) mesti digunakan dan susunan objek OleDbParameter dalam koleksi mestilah sepadan dengan peletakannya dalam teks arahan.

Atas ialah kandungan terperinci Adakah Perintah Parameter OleDbCommand Penting Apabila CommandType ialah Teks?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan