Delphi mendukung pernyataan SQL parameterisasi, tetapi saya jarang menggunakan atribut paramter/params, dan biasanya membangun SQL sendiri.
Gunakan sql.text: = 'pilih * dari ..where id =' ''+edit1.text+'' '';
Namun, metode ini membutuhkan serangan injeksi SQL yang cermat.
Hari ini, saya beralih ke properti Paramters dari kontrol Adoquery. Karena saya hanya menggunakan satu kontrol Adoquery, dan pernyataan SQL dan parameter dalam pernyataan sering berubah, saya pertama kali menggunakan kode berikut dalam program:
............
Adoq.parameters.clear;
Adoq.parameters.createParameter (...);
Adoq.parameters.createParameter (...);
Adoq.sql.clear;
Adoq.sql.assign (memo1.text);
............
Setelah dieksekusi, kadang -kadang normal, kadang -kadang dilaporkan, dan sesuatu dikatakan salah pengaturan parameter yang salah (digunakan untuk mengakses).
Setelah dua hari melemparkan, saya menemukan bahwa kode berikut harus digunakan (sangat aneh):
............
Adoq.parameters.clear;
PARAMI: = adoq.parameters.addparameter; // Buat parameter 1
PARAMI.NAME: = ...;
PARAMI: = adoq.parameters.addparameter; // Buat parameter 2
PARAMI.NAME: = ...;
//Adoq.sql.clear;
Adoq.sql.assign (memo1.text);
............