主题:请教一个中文模糊查询的问题
gameboyc3i
[专家分:0] 发布于 2007-08-01 10:15:00
str1="select * from 饭店联系方式表 where 名称 like '*大*'";
data->ADOQuery10->Close();
data->ADOQuery10->SQL->Clear();
data->ADOQuery10->SQL->Add(str1);
data->ADOQuery10->Open();
我用 select * from 饭店联系方式表 where 名称 like '*大*' 在Access 里查询好使,但在c++builder里用如上形式写出的代码却什么也查不出来,如果用str1="select * from 饭店联系方式表 where 名称 = '大'";就能得出查询结果.
请教高手帮我解决这个问题,非常感谢.
最后更新于:2007-08-02 09:57:00
回复列表 (共5个回复)
沙发
gebowangzm [专家分:480] 发布于 2007-08-02 18:55:00
问题可能出在"*"上。*和?可用于某些数据库的通配符。但SQL只能用%号做通配符。建议将原SQL语句改为:
str1="select * from 饭店联系方式表 where 名称 like '%大%'";
没上机测试,请楼主自己试一下。
如果还是不行,可在Access里建立相应的查询,再将程序的ADOQuery连接到该查询。
板凳
gameboyc3i [专家分:0] 发布于 2007-08-04 17:33:00
感谢ebowangzm,但是这个方法也不行,我以前就是用的%,但ACCESS里用的通配符就是*,关于在ACCESS里建立查询,然后 在CB里调用我没有做过,请给出具体的方法,非常感谢!
3 楼
gebowangzm [专家分:480] 发布于 2007-08-04 22:48:00
一、在Access里建立查询:
在Access的主面板里,点“查询”,再点”新建“,在SQL设计视图里,输入相应SQL语句,如:select * from 饭店联系方式表 where 名称 like '*大*';运行无误后保存查询(假设查询名为MyQuerry);
二、在ADOQuerry里连接查询:
AnsiString MySql="select * from MyQuerry";
DOQuery1->Close();
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Text=MySql;
ADOQuery1->Open();
4 楼
moke5 [专家分:30] 发布于 2010-09-01 15:03:00
你好.我是全职网赚工作者.
如果你有时间有电脑.会打字.
想在网络上创业.请联系我..
项目绝对真实.详情QQ空间资料
加盟请联系 QQ909065437
5 楼
cyite [专家分:0] 发布于 2010-09-19 07:34:00
这是一个互助的模式。
不推广人也有钱赚的。分A B两个网。
不推广的人在A网。推广的人 在B网。
B网推广的人帮助A网。
A网拿6000元出局。
B网就多了。
C易特元亨QQ919169870
奖励制度
C易特更多资料C易特元亨QQ919169870
http://blog.sina.com.cn/cyite6
C易特奖励制度
http://blog.sina.com.cn/s/blog_6b2561440100l5r8.html
我来回复