يدعم Delphi عبارات SQL المعلمة ، لكنني نادراً ما أستخدم سمات Paramters/Params ، وعادةً ما أقوم ببناء SQL بنفسي.
استخدم sql.text: = 'select * from ..where id =' ''+edit1.text+'' '؛
ومع ذلك ، تتطلب هذه الطريقة هجمات حقن SQL دقيقة.
اليوم ، انتقلت إلى خاصية Paramters لعنصر التحكم في Adoquery. نظرًا لأنني أستخدم عنصر تحكم واحد فقط ، وغالبًا ما تتغير عبارات ومعلمات SQL في العبارات ، استخدمت الرمز التالي أولاً في البرنامج:
............
adoq.parameters.clear ؛
adoq.parameters.createparameter (...) ؛
adoq.parameters.createparameter (...) ؛
adoq.sql.clear ؛
adoq.sql.assign (memo1.text) ؛
............
بمجرد تنفيذها ، يكون ذلك طبيعيًا في بعض الأحيان ، وأحيانًا يتم الإبلاغ عنه ، ويقال إن هناك شيء غير صحيح غير صحيح معلمة (يستخدم للوصول).
بعد يومين من القذف ، وجدت أنه يجب استخدام الكود التالي (إنه غريب حقًا):
............
adoq.parameters.clear ؛
parami: = adoq.parameters.addparameter ؛
parami.name: = ...
parami: = adoq.parameters.addparameter ؛
parami.name: = ...
//adoq.sql.clear ؛
adoq.sql.assign (memo1.text) ؛
............