求解access的like查询怪问题

yanson1985 2009-10-31 08:25:42
用ADO方法连接access,如下语句查询:
Cstring sql = "select * from [表名] WHERE Solved = 0 AND MP_Name like '*" + m_point + "*' order by pDateAndTime asc";
m_pRecordset->Open(sql.AllocSysString(),m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
这样的话m_pRecordset是没有查询结果的,没有错误,只是查询结果为空;
奇怪的是将sql TRACE后在access里运行也可以查出结果,这证明sql语句和access数据都没问题

如果sql = "select * from [表名] WHERE Solved = 0 AND MP_Name = '" + m_point + "' order by pDateAndTime asc";
就一点问题都没有,这证明其它部分程序也没问题

小弟实在弄不明白,怎么回事!难倒是vc对like不能识别
不知哪位可曾遇到过类似情况,给出可能的原因,或者其他方法可以实现模糊查询功能也可以
...全文
79 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
yanson1985 2009-10-31
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 tr0j4n 的回复:]
vc 下调用access ,*变成%使用
ADO就认%的
[/Quote]
哦,原来如此,问题解决,呵呵,二楼说的也是对的,不过不够详细哈
结贴
yanson1985 2009-10-31
  • 打赏
  • 举报
回复
最好还是用like解决啊
MoXiaoRab 2009-10-31
  • 打赏
  • 举报
回复
vc 下调用access ,*变成%使用
ADO就认%的
yanson1985 2009-10-31
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wwwxhb 的回复:]
给你个类似的吧。
indexpath=1;
CString str1="m";
CString str;
str.Format("SELECT  *    FROM  %s%d",str1,m_nummap);//数据库语句格式化

查表名:m1;
我用过可以。
[/Quote]
这个用的应该是查询那些名称为:“固定部分”+“不固定部分”的格式,可我的前后都不固定的,也就是没办法确定“m”,这个方法不行啊,恐怕仅仅用算法没法解决我的问题,谢谢啦
wwwxhb 2009-10-31
  • 打赏
  • 举报
回复
给你个类似的吧。
indexpath=1;
CString str1="m";
CString str;
str.Format("SELECT * FROM %s%d",str1,m_nummap);//数据库语句格式化

查表名:m1;
我用过可以。
yanson1985 2009-10-31
  • 打赏
  • 举报
回复
楼上,sql是% ,access是*的,我已证明sql语句没问题,在access里可以运行,不过还是谢谢
sb3day 2009-10-31
  • 打赏
  • 举报
回复
是% 不是*

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧