有关Access的SQL语句的书写问题:
   在我的Delphi+Access程序中,出现一个令我很疑惑的问题。在Delphi中调用SQL命令[select * from torder where entitycode like 'l-0000-%']可以查处结果,而同样的语句在Access中无法执行,必须改为:[select * from torder where entitycode like 'l-0000-*']之后,才可以正确执行。Why?

解决方案 »

  1.   

    因为Access只是支持*作为通配符。
      

  2.   

    因为在delphi中用的是bde接口来调用程序,或者使用delphi的ado组件来调用数据库,数据库本身不支持的sql也有可以在此被支持,而你说的问题与此有关,即在delphi的bde中用%来做为通配符,但你的版本的access则是用*作通配符,这个问题很正常哦。
      

  3.   

    是不是说,在Delphi中的Sql语句在执行到Access方的时候,SQL语句自动发生了改变。将%变成了*
    ?
      

  4.   

    只有在ACCESS中,没有打开SQL SERVER 兼容语法(ANSI 92) 时,*号才是通配符,而%则不是通配符,在SQL SERVER中,不能使用*作为通配符打开SQL SERVER 兼容语法(ANSI 92)选项在菜单 工具->选项->表/查询 中在DELPHI中用ADO或BDE都是用%,DAO就不知道了~~~~
      

  5.   

    ysai(淡出论坛),我基本能明白你的意思。但是在我想继续深入时,出了点问题:在 [工具->选项->表/查询 ]找不到相关选项。我用的是Access2000,是否是,在Access2000中,默认了兼容模式?