access 表 mokinfo 中有数据如下
 MCODE   MNAME
----------------
  A       江苏
  B       上海
  C       山东
  D       浙江
  E       湖南
在access查询中执行以下语句能查出数据
select * from mokinfo where mcode like '*[A,C,D]*' 查询结果如下
 MCODE   MNAME
----------------
  A       江苏
  C       山东
  D       浙江
但是在delphi中使用以上语句查询时却一条记录也没有,这是怎么回事呢?

解决方案 »

  1.   

    select * from mokinfo where mcode like [A,C,D]
      

  2.   

    ADOQuery1.SQL.Add('select * from mokinfo where mcode like ' + '''' + '[A,C,D]' + '''' )
      

  3.   

    select * from mokinfo where mcode like '%[A,C,D]%'
      

  4.   

    select * from mokinfo where mcode like '%[A,C,D]%'
    ADO中执行SQL和直接在ACCESS中似乎有些差异,有些SQL在ACCESS中不能执行,在ADO中可以执行。
      

  5.   

    没有什么奇怪的。只能怪你了解太少了。就拿这个 like 语句来说。在 ACCESS 内的查询,,就的是 * 号。。而在外部用其它开发工具来进步查询时,就不能用 * 号了。而是用 % 号。
    还有很多其它的都是这样。所以。朋友,不要奇怪多多了解一下就不会大惊小怪了。。
      

  6.   

    正确的写法为:
    select * from mokinfo where mcode like '%[A,C,D]%'