精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● Delphi>>数据库技术>>D5中运用Adoquery超注意!

主题:D5中运用Adoquery超注意!
发信人: 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上注水了,小虾我有空就来光光一下了.
   

[关闭][返回]