asp针对access模糊查询的问题

cyfflying 2003-10-18 04:03:36
是这样的,我在用ASP对ACCESS数据库进行模糊查询

"select * from today where Msg_content like '%"&request("city")&"%'"
sql语句如上
有时正确,有时报错,这是为什么,发现有点规律,比如打北京,可以查,但打北京市就不能查,字数一超过两个好像就报错,随便打些字母,汉字,也会报错,百思不得其解
...全文
103 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
cyfflying 2003-10-24
  • 打赏
  • 举报
回复
问题解决了,语句没错,谢谢大家帮助,分不够,大家包涵
pzlk 2003-10-23
  • 打赏
  • 举报
回复
检查字段!!!
pzlk 2003-10-23
  • 打赏
  • 举报
回复
ttt=trim(request("city"))
sql ="select * from today where ((Msg_content like '%"&ttt&"%')and (Msg_Catalog=20004))"
语法应该没错的!
cyfflying 2003-10-23
  • 打赏
  • 举报
回复
两句都有空格的,是我没贴好,呵呵
iamsangster 2003-10-23
  • 打赏
  • 举报
回复
还有 if rs.eof and rs.bof then response.Write("没记录")
这句应为
if rs.eof or rs.bof then response.Write("没记录")
即把and 改成 or
iamsangster 2003-10-23
  • 打赏
  • 举报
回复
有一句没加空格,有一句加了,当然有时对有时错,赫赫
cyfflying 2003-10-23
  • 打赏
  • 举报
回复
有空格的,是我没贴好
iamsangster 2003-10-23
  • 打赏
  • 举报
回复
sql ="select * from today where Msg_content like '%"&ttt&"%' and
好像有空格吧!
cyfflying 2003-10-23
  • 打赏
  • 举报
回复
ttt里肯定没有特殊字符,这是绝对的,因为TTT非人为输入的,是程序控制的,都是数字
gmlxf 2003-10-20
  • 打赏
  • 举报
回复
打印代码出来
sql ="select * from today where Msg_content like '%"&ttt&"%'and Msg_Catalog=20004"
response.write sql
response.end

然后复制到access里面去执行,看看提示什么错误?
或者是ttt里面是否存在着特殊字符,如"'"是不允许的。
BrightEye 2003-10-18
  • 打赏
  • 举报
回复
and前后都有空格,写成一行.
BrightEye 2003-10-18
  • 打赏
  • 举报
回复
ttt=trim(request("city"))
sql ="select * from today where Msg_content like '%"&ttt&"%'and Msg_Catalog=20004"
qunluo 2003-10-18
  • 打赏
  • 举报
回复
gz
cyfflying 2003-10-18
  • 打赏
  • 举报
回复
msg_site就是SITE
所有代码都贴了
出错的不是用checkstr的那句SQL
是用TRIM那个SQL语句
上面代码还可以这样简化
<!--#include file="articleconn.asp"-->
<%
ttt=request("city")
sql ="select * from today where Msg_content like '%"&trim(ttt)&"%'and Msg_Catalog=20004"
set rs=server.createobject("adodb.recordset")

rs.open sql,conn,1,1
if rs.eof and rs.bof then response.Write("没记录")
%>
依旧报错,数据库结构上面已经写了
1蓝天1 2003-10-18
  • 打赏
  • 举报
回复
不是这句话的错误,应是数据库的问题.
htao007 2003-10-18
  • 打赏
  • 举报
回复
Msg_Site 与 site 一样吗?
angelheavens 2003-10-18
  • 打赏
  • 举报
回复
(1)仔细检查在sql="..."中的字段类型是否与你表一致,如果是整型不要加号
(2)检查checkStr()函数是否有错误
htao007 2003-10-18
  • 打赏
  • 举报
回复
1。字数一超过两个好像就报错
检查表里的数据类型与字节数
2。请贴出相关代码,仅品着一句很难知道拿的错,单这一句来说,没有错
cyfflying 2003-10-18
  • 打赏
  • 举报
回复
id:自动编号
time:时间型,默认值now()
catalog:长整型
content:文本型:长度255
flag:长整型
site:长整型
angelheavens 2003-10-18
  • 打赏
  • 举报
回复
把today表中相关字段名/类型/长度 列出来
加载更多回复(4)

28,390

社区成员

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

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