100分,共150分。为什么我不能用like搜索记录????????????

sun8087 2005-11-09 03:10:32
select id,title,sortid,typeid,childid,monobasic,infotype,picture,cflag,depot,username,overdate,amount,begindate,roup,rouprange,count_num,del,sell_num from sell where 1=1 and infotype='一口价' order by id desc

能够执行,获得正确的结果

但一用

select id,title,sortid,typeid,childid,monobasic,infotype,picture,cflag,depot,username,overdate,amount,begindate,roup,rouprange,count_num,del,sell_num from sell where 1=1 and title like '%声卡%' and infotype='一口价' order by id desc

就出现了

Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e21'

ODBC 驱动程序不支持所需的属性。

/sell/sell_list.asp,行395

这个问题一直得不到解决,,那位好兄弟帮我看看,,我真的搞不定

...全文
246 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
sun8087 2005-11-10
  • 打赏
  • 举报
回复
你是替换了那些字符啊

详细一点,,我看怎么做

dh20156 2005-11-10
  • 打赏
  • 举报
回复
我在替换了一些特殊字符后可以查出一条记录:
977 岛谷黑金2声卡
然后继续错误,可能还有些特殊字符没有替换掉,楼主你自己找找吧。
sun8087 2005-11-10
  • 打赏
  • 举报
回复
上面是错误的,,是下面的


http://218.93.71.93/sell/sell_list.asp?sortid2=&typeid2=&childid2=&keyword=%C1%AB%BB%A8%B7%DB%B1%FD&infotype=%D2%BB%BF%DA%BC%DB&monobasic=100&datetime=30&Submit=%C1%A2%BC%B4%B2%E9%D5%D2&check_now=1
能搜

http://218.93.71.93/sell/sell_list.asp?sortid2=&typeid2=&childid2=&keyword=%C1%AB%BB%A8%B7%DB%B1%FD&infotype=%D2%BB%BF%DA%BC%DB&monobasic=500&datetime=30&Submit=%C1%A2%BC%B4%B2%E9%D5%D2&check_now=1

出错
sun8087 2005-11-10
  • 打赏
  • 举报
回复
说实话 ,我也搞晕了,,好像也不是 like问题了

大家对比一下

http://127.1.1.89/sell/sell_list.asp?sortid2=&typeid2=&childid2=&keyword=%C1%AB%BB%A8%B7%DB%B1%FD&infotype=%D2%BB%BF%DA%BC%DB&monobasic=100&datetime=30&Submit=%C1%A2%BC%B4%B2%E9%D5%D2&check_now=1
能搜

http://127.1.1.89/sell/sell_list.asp?sortid2=&typeid2=&childid2=&keyword=%C1%AB%BB%A8%B7%DB%B1%FD&infotype=%D2%BB%BF%DA%BC%DB&monobasic=500&datetime=30&Submit=%C1%A2%BC%B4%B2%E9%D5%D2&check_now=1

出错
diyager 2005-11-10
  • 打赏
  • 举报
回复
没有解决不好的问题,你就去年了"1=1 and"这些字符看看,搞不定就联系QQ5745027帮你搞定
dh20156 2005-11-10
  • 打赏
  • 举报
回复
感觉是你的那个字段里边的内容有一些特殊字符,检查一下先!
sun8087 2005-11-10
  • 打赏
  • 举报
回复
换了上面的驱动,,后,,

其它搜索条件也是都正常,,,一用like

却出现 Microsoft JET Database Engine 错误 '80040e14'

内存溢出

/sell/sell_list.asp,行264

那为啊???? 烦死我了
:(
jumus 2005-11-10
  • 打赏
  • 举报
回复
换个驱动试试,,

connstr="provider=microsoft.jet.oledb.4.0;data source="&server.mappath("../data/data.mdb")
set conn=server.createobject("ADODB.CONNECTION")
conn.open connstr
sun8087 2005-11-10
  • 打赏
  • 举报
回复
sell表是用的 rs.addnew
添加记录的
sun8087 2005-11-10
  • 打赏
  • 举报
回复
谢谢各位
我仔细看了大家的发言,也测试过了

根据风之石的建议,就
只保留一个条件搜索试下看看:
Select id,title,sortid,typeid,childid,monobasic,infotype,picture,cflag,depot,username,overdate,amount,begindate,roup,rouprange,count_num,del,sell_num From sell Where title Like '%声卡%' Order By id Desc

不能运行。出现
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e21'

ODBC 驱动程序不支持所需的属性。

/sell/sell_list.asp,行264

而用

Select id,title,sortid,typeid,childid,monobasic,infotype,picture,cflag,depot,username,overdate,amount,begindate,roup,rouprange,count_num,del,sell_num From sell Where title = '声卡' Order By id Desc
就能运行。。现在问题就是,,如果用 like 就是不能搜索,,出现驱动错误

我用的驱动语句是
connstr="DBQ="+server.mappath("../data/data.mdb")+";password=1234;DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
set conn=server.createobject("ADODB.CONNECTION")
conn.open connstr

如果说驱动不对,但我其它网站(((在服务器也是))都没有问题。。
其它的搜索页面也有正确的(用like),,就是sell_list.asp

所以我觉得驱动和语句没有问题,,


问题应该在 这个页面 为什么不能用like,, 最大问题可能在数据库上
或者sell表 插入记录的时候 用了编辑器,里面可能有 ' 字符(是 profile )

但用like搜索的字段 是 title

大家不要嫌麻烦,数据库下载

www.czgww.com/date_new.mdb

jspadmin 2005-11-10
  • 打赏
  • 举报
回复
自己写个函数将所有特殊字符过滤下,搜索下吧,论坛里有特殊字符过滤转换函数
----------------------------------------------------------------------------------
欢迎光临我的小站(提供免费博客申请):http://www.pifoo.com

sun8087 2005-11-10
  • 打赏
  • 举报
回复
我想也是特殊字符啊

楼上的,能提供特殊字付吗???
lisoon 2005-11-10
  • 打赏
  • 举报
回复
我知道了,不過只是猜測,ado的問題,數據庫裏是不是有日文或是一些較偏繁體字?
如果是,那這個是ms ado的一個bug,不用like就沒有事了,是sql server可以用charindex()代替。access目前还没有办法,只能在入库时代换,显示替换回来。
diyager 2005-11-10
  • 打赏
  • 举报
回复
弄一个特殊字符转换函数应该就行了
sfeng18 2005-11-09
  • 打赏
  • 举报
回复
怎么会用 1 来作为键值呢?
zxm123 2005-11-09
  • 打赏
  • 举报
回复
ODBC 驱动程序的问题,下在个odbc就好了
text44 2005-11-09
  • 打赏
  • 举报
回复
1=1?

不会是在干坏事吧 HOHO
明珠佩佩 2005-11-09
  • 打赏
  • 举报
回复
问题可能在1=1这里
是是非非 2005-11-09
  • 打赏
  • 举报
回复
1、用的是什么数据库?
2、title字段是什么类型?
3、把出错的SQL语句复制到数据库系统中运行,看错误出在哪儿?


建议:把所有的表名、字段名用中括号 []括起来以后再试试
tigerwen01 2005-11-09
  • 打赏
  • 举报
回复
select id,title,sortid,typeid,childid,monobasic,infotype,picture,cflag,depot,username,overdate,amount,begindate,roup,rouprange,count_num,del,sell_num from sell where 1=1 and title like '%"声卡"%' and infotype='一口价' order by id desc
加载更多回复(6)

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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