一个程序中有可能用到多种数据库,现在要将所有对数据库的操作存储起来,所有操作均用参数操作,要如何在程序中实现提取这些SQL语句?
操作语句类似于
adoquery1.sql.add('insert Tab1 (bookname,user) values (:p1,:p2)');
adoquery1.parameters.parametersbyname['p1'].value:=edit1.text;
adoquery1.parameters.parametersbyname['p2'].value:=edit2.text;
adoquery1.execsql;
操作语句类似于
adoquery1.sql.add('insert Tab1 (bookname,user) values (:p1,:p2)');
adoquery1.parameters.parametersbyname['p1'].value:=edit1.text;
adoquery1.parameters.parametersbyname['p2'].value:=edit2.text;
adoquery1.execsql;
showmessage(adoquery1.text): 只能得到 'insert Tab1 (bookname,user) values (:p1,:p2)'
自己写个函数,遍历一遍parameters参数,把以上的SQL语句中的,如:p1给替换掉。使用替换函数stringreplace。
看起来直接些
谢谢HapBegin的提醒用QuotedStr(),再把变量里的':'替换成':'就没问题了,不然两个"中间有:的话access不能执行