Rumah > pembangunan bahagian belakang > C++ > Adakah Pesanan Parameter Penting dalam Pertanyaan OleDbCommand Menggunakan Pemegang Tempat Tanda Soalan?

Adakah Pesanan Parameter Penting dalam Pertanyaan OleDbCommand Menggunakan Pemegang Tempat Tanda Soalan?

Barbara Streisand
Lepaskan: 2024-12-27 07:53:08
asal
246 orang telah melayarinya

Does Parameter Order Matter in OleDbCommand Queries Using Question Mark Placeholders?

Tertib dan Keutamaan Parameter OleDbCommand

Dalam percubaan untuk menyahpepijat pertanyaan selama 40 minit, didapati bahawa susunan parameter memainkan peranan yang penting. Pertanyaan yang dimaksudkan adalah seperti berikut:

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

Walau bagaimanapun, apabila 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

tiada keputusan dikembalikan. Membalikkan susunan @dtDebut dan @dtFin telah menyelesaikan isu.

Adalah pada mulanya diandaikan bahawa parameter yang dinamakan telah diperkenalkan untuk mengelakkan kebergantungan pesanan tersebut. Walau bagaimanapun, menurut MSDN:

Pembekal OLE DB .NET tidak menyokong parameter yang dinamakan untuk menghantar parameter kepada pernyataan SQL atau prosedur tersimpan yang dipanggil oleh OleDbCommand apabila CommandType ditetapkan kepada Teks. Dalam kes ini, ruang letak tanda soal (?) mesti digunakan.

Oleh itu, adalah penting untuk mengekalkan susunan parameter yang betul apabila menggunakan OleDbCommand dengan parameter yang ditentukan menggunakan pemegang tempat tanda soal.

Atas ialah kandungan terperinci Adakah Pesanan Parameter Penting dalam Pertanyaan OleDbCommand Menggunakan Pemegang Tempat Tanda Soalan?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan