DAO的模糊查询问题,请教.解决后立刻结贴
只有这样才查得到:
"select * from commu where %s = '%s' ",m_tablefield,m_keyword
换成LIKE后就查不到了,郁闷.
m_keyword2="%"+m_keyword+"%";
select * from commu where %s like '%s' ",m_tablefield,m_keyword2
请教
问题点数:30、回复次数:13Top
1 楼Snow_Ice11111(雪上加冰)回复于 2006-03-18 03:35:53 得分 3
SQL语句是正确的,可能是其它原因。Top
2 楼wegotnothingtolosebu(t this is a dirty joke...)回复于 2006-03-18 09:34:01 得分 1
mark,看不懂Top
3 楼jiangsheng(蒋晟.Net[MVP])回复于 2006-03-18 10:58:01 得分 10
检查在Access的数据库选项中是否打开了SQL92兼容语法Top
4 楼boyplayee()回复于 2006-03-18 11:47:12 得分 0
UP.
Top
5 楼Mackz(在相互)回复于 2006-03-18 13:01:25 得分 10
m_keyword2="%%"+m_keyword+"%%";
Top
6 楼syf100()回复于 2006-03-18 15:45:56 得分 0
楼上, 是应该m_keyword2="%"+m_keyword+"%";
我用ODBC还是好的,但是用DAO就不对了.Top
7 楼syf100()回复于 2006-03-18 18:27:39 得分 0
upTop
8 楼boyplayee()回复于 2006-03-18 20:01:47 得分 0
我在使用DAO的时候遇到这样的问题:
binding 数据库的时候:"Unrecognized database fomat '....*mdb'".这个怎么解决呢?Top
9 楼boyplayee()回复于 2006-03-18 20:03:44 得分 0
我也试过了,
CDaoRecordset *rs=new CDaoRecordset(&db);
rs->Open(dbOpenDynaset,"select * from commu where telephone like '%1%'",dbReadOnly);
查不到结果,而数据库里是有数据的.Top
10 楼boyplayee()回复于 2006-03-18 20:04:51 得分 0
CDaoRecordset *rs=new CDaoRecordset(&db);
rs->Open(dbOpenDynaset,"select * from commu where telephone = 1388'",dbReadOnly);
这样就查得到.Top
11 楼hailongxl(吹雪)回复于 2006-03-18 21:39:50 得分 6
select * from commu where telephone like '*1*'
在access中用*号Top
12 楼syf100()回复于 2006-03-19 00:27:37 得分 0
恩Top
13 楼jiangsheng(蒋晟.Net[MVP])回复于 2006-03-19 01:01:24 得分 0
Access默认的语法是使用*作为通配符,但是如果打开了SQL92兼容语法选项,那么通配符变成%Top




