ADO对Access数据库的Like查询无结果的问题
[ 2006-06-30 21:00:00 | 作者: admin ]
tianyang:一个的确奇怪的问题,估计是access的bug
问题:
我有一个客户档案数据库,有大概13000条数据,用ASP提取数据库记录的时候用
select name, address, lxr, tel from khda where Name Like '%江华%'
选出的记录为0条,但是实际上数据库中有这样的记录存在。如果用
select name,address,lxr,tel from khda where Name Like '%江华%' And qy='武汉市'
则可以找出正确的记录。如果按Access 97帮助中的写法把第一句SQL中的%改为*则报告内存溢出。第二句则可以执行,但无法找出记录。
周冬的意见:
在asp程序中 like 语句应该用2个%,如: select * from databasename where fieldname like '%%XX%%' 这样就可以得到正确的查询结果了。
chenhy的意见:
在Access的查询窗口中like的通配符用法是这样:
“?”表示任何单一字符; “*”表示零个或多个字符; “#”表示任何一个数字
所以应该是:
select * from databasename where fieldname like '*XX*'
szr、MAjie的意见:
出现这样的具有模糊性质的查询我觉得应用VBScript提供的InStr函数比较好
评论Feed: http://blog.xg98.com/feed.asp?q=comment&id=679
问题:
我有一个客户档案数据库,有大概13000条数据,用ASP提取数据库记录的时候用
select name, address, lxr, tel from khda where Name Like '%江华%'
选出的记录为0条,但是实际上数据库中有这样的记录存在。如果用
select name,address,lxr,tel from khda where Name Like '%江华%' And qy='武汉市'
则可以找出正确的记录。如果按Access 97帮助中的写法把第一句SQL中的%改为*则报告内存溢出。第二句则可以执行,但无法找出记录。
周冬的意见:
在asp程序中 like 语句应该用2个%,如: select * from databasename where fieldname like '%%XX%%' 这样就可以得到正确的查询结果了。
chenhy的意见:
在Access的查询窗口中like的通配符用法是这样:
“?”表示任何单一字符; “*”表示零个或多个字符; “#”表示任何一个数字
所以应该是:
select * from databasename where fieldname like '*XX*'
szr、MAjie的意见:
出现这样的具有模糊性质的查询我觉得应用VBScript提供的InStr函数比较好
[最后修改由 admin, 于 2006-07-03 17:45:15]

这篇日志没有评论。
此日志不可发表评论。