Apabila mencipta objek OleDbCommand, susunan objek OleDbParameter ditambahkan pada OleDbParameterCollection adalah penting untuk pelaksanaan pertanyaan yang betul . Ini kerana OleDbCommand tidak menyokong parameter yang dinamakan untuk menghantar parameter kepada pernyataan SQL atau prosedur tersimpan apabila CommandType ditetapkan kepada Teks.
Pertimbangkan pertanyaan berikut:
SELECT * FROM tblSomeThing WHERE id = @id AND debut = @dtDebut AND fin = @dtFin
Jika anda menambah parameter 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;
anda tidak akan mendapat hasil. Ini kerana susunan parameter yang ditambahkan tidak sepadan dengan susunan parameter tersebut muncul dalam pertanyaan.
Untuk memastikan pelaksanaan pertanyaan yang betul, anda mesti menghormati susunan daripada parameter dalam rentetan pertanyaan. Dalam kes ini, cara yang betul untuk menambah parameter ialah:
cmd.Parameters.Add("@id", OleDbType.Integer).Value = idSociete; cmd.Parameters.Add("@dtDebut", OleDbType.Date).Value = dateTraitementDebut; cmd.Parameters.Add("@dtFin", OleDbType.Date).Value = dateTraitementFin;
Dengan mematuhi susunan parameter dalam rentetan pertanyaan, objek OleDbCommand boleh melaksanakan pertanyaan dengan tepat dan mengembalikan hasil yang diingini.
Atas ialah kandungan terperinci Mengapa Pesanan Parameter Penting dalam Objek OleDbCommand Apabila Menggunakan Teks CommandType?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!