对于access,在数据库当中建立模糊查询时,这时用到的通配符号是“*”,而如果在VB中使用查询语句进行模糊查询时,这时就要用“%”

有个很简单的问题,邪了门了,我在代码里面,把sql语句,拷出来:

 SELECT DetailList.[Id_Detail], DetailList.[NoteTime], DetailList.[ListNumber], DetailList.[OutMoney], DetailList.[BackupMoney], DetailList.[InMoney],Persons.Name, DetailList.[PersonId] , DetailList.[Remark] FROM DetailList left join Persons on Persons.Id_P=DetailList.PersonId where 1=1   and NoteTime > #2013/3/12 00:00:00# and NoteTime < #2013/3/12 23:59:59# and Remark like '*测*';

放到Access的查询分析器里面,没问题啊,能出来结果,但是程序里面,没有结果。百思不得其解。于是百度了一下“access 模糊查询”。微软这也太2了。不过access 本来就比较2.这哥们儿,破问题还调试了一个通宵,伤不起啊。我也自己琢磨了很久。

于是我就把代码给改了,就好了

               // sql += " and Remark like '*" + Remark + "*'";
                sql += " and Remark like '%" + Remark + "%'";

看到结果了:

_bstr_t sql="select * from ZDYBAB where 医疗机构等级 like '三甲'"; 
 m_pRecordset.CreateInstance(__uuidof(Recordset));
 m_pRecordset->Open(sql, m_pConnection.GetInterfacePtr(),adOpenStatic,adLockOptimistic,adCmdText);
这样查询是正常的,但是把三甲改为*(星号)以后,运行程序无法查到数据。
接下来又直接打开access,顶端title显示的是access2000格式。然后在access中直接执行select * from ZDYBAB where 医疗机构等级 like '*'。可以查到正常的数据。程序的问题到底出在哪里呢?调试了一整个通宵了。
我来帮他解答
满意回答
2011-02-24 07:51
这里涉及到一个问题,对于access,在数据库当中建立模糊查询时,这时用到的通配符号是“*”,而如果在VB中使用查询语句进行模糊查询时,这时就要用“%”
所以都会才会出现你上面的情况,你试着将*换成%看怎么样

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值