读书人

ACCESS数据库模糊查询结果很诡谲

发布时间: 2012-08-30 09:55:54 作者: rapoo

ACCESS数据库模糊查询结果很诡异
list表内数据
IDTITLEWORDURL
1cgi教程本地调试cgiindex.asp#http://index.asp#
2下载中心聊天室,留言本index.asp#http://index.asp#
0

站内数据库搜索部分asp源码

……
<% set rs=server.createobject("ADODB.Recordset")
rs.open "select * from list where list.word like '%" & request.form("word") & "%'",MyCon,1,1
%>
……
id="word"的文本框内输入cgi,即搜索表list中word包含关键字“cgi”的数据行

结果ID1和ID2的数据居然都被筛选了出来,ID2中的WORD列根本就没有cgi关键字啊?谁知道为什么

[解决办法]

SQL code
--你可以用下面的在程序中重新执行试下,如果正确则说明你的request.form("word")有传值有问题的--调试看下你的request.form("word")是什么select * from list where list.word like '%cgi%'
[解决办法]
探讨
引用:
引用:
SQL code

--你可以用下面的在程序中重新执行试下,如果正确则说明你的request.form("word")有传值有问题的
--调试看下你的request.form("word")是什么
select * from list where list.word like '%cgi%'


确实直接用select * from……

[解决办法]
好吧,终极解决办法:



<% set rs=server.createobject("ADODB.Recordset")
rs.open "select * from list where list.word like '%" & request.form("word") & "%'",MyCon,1,1
%>

这段修改为:

<%set rs=server.createobject("ADODB.Recordset")
If Request("word")<>"" Then
rs.open "select * from list where [word] like '%" & Request("word") & "%'",MyCon,1,1
Else
Response.write "word无值<BR>"
Response.End
End If%>

读书人网 >ASP

热点推荐