为什么用delphi+ado+access数据库不能进行模糊查询(100分)

  • 主题发起人 主题发起人 yfd
  • 开始时间 开始时间
Y

yfd

Unregistered / Unconfirmed
GUEST, unregistred user!
我发现用delphi+ado+access数据库不能进行模糊查询,凡是在access的查询中用到了通配符,那么返回的结果集就是空.
请看下面的简单例子:
acess中有表table1如下:
table1:
field1 char(20)
field2 char(20)
其中有记录为
field1 field2
1234 sdf
12a af
abc 2345
xyz aff

access数据库中又有查询query1如下:
select * from table1 where field1 like '*'+param1+'*';
如果在access中使用此查询,如果将param1指定为'a',就会将第2,3条记录返回,这是正常的.
但是如果在delphi中用一个ADOStoredProcedure连接到查询query1
并通过Inspect添加一个parameter并将其值设置为'a',通过一个DataSource连接到一个DBGrid后,将StoreProcedure的Active设置为true,但是DBGrid中却什么都没有.这是为什吗?
请各位高手给我指点迷津,多谢
 
应该是like %a%
 
access数据库中代表0个和多个字符的通配符是'*'不是'%'
 
用ado时通配符是%,用Dao时通配符是*
 
完全正确!
 
多谢各位
我已经找到答案,是access中的通配符'*'迷惑了我,只要我用'%'就解决问题了
 
kao,我第一个给出正确答案才给我10分,真不够意思 ;(
。。。来得早不如来得巧。。。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部