发信人: hlrhero(网上浪子)
整理人: teleme(2001-06-26 21:28:54), 站内信件
|
在Delphi 5.0版中用控件时由于Broland公司引用微软的OLE-DB技术,有些方面末能加以强化因此不能把基于BDE的源程序直接转到ADO上去,但这又是Broland公司努力的方向。这里举应用Adoquery控件为例:
在Bde中:
query1.sql.add('insert into onetable(f1,f2) values ("text1","text2");
query1.execsql;
可以通过;
在Ado中:
adoquery1.sql.add('insert into onetable(f1,f2) values ("text1","text2");
adoquery1.execsql;
就不行了!
原因是OLE-DB底层不支持形如:"xxword"的字符串的因此必须用 'xxword'形式的字符串.把上面的语句改为:
var
str_sql:string;
str_sql:='insert into onetable(f1,f2)values("text1","text2")';
str_sql:=stringreplace(str_sql,'"',#39,[rfreplaceall]);
adoquery1.sql.add(str_sql);
adoquery1.execsql;
这样就可以胜利运行了。
肯定还有其它问题,不知道在D6版中有没有改进!
欢迎来信共同控讨
当然可以在BBS上注水了,小虾我有空就来光光一下了.
|
|