分页时,查询sql语句中有%,出问题

bladeinside 2002-11-29 11:26:26
sql语句是 select * from table1 where field1 like '%33%'
结果下一页得到的sql语句是 select * from table1 where field1 like '33'
% 没有了。ft
怎么解决?
...全文
34 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
mariner 2002-11-29
  • 打赏
  • 举报
回复
在QueryString中传递参数(也就是你要模糊查询的内容)
在你ASP页面中再把这个参数拼接成SQL语句,这样相对的安全一些,例外,在更新查询条件的时候,也方便控制。
say1no2 2002-11-29
  • 打赏
  • 举报
回复
是啊,怎么结贴啊,我也是新手!
bladeinside 2002-11-29
  • 打赏
  • 举报
回复
to : yonghengdizhen(风儿她轻轻的吹)
内部网站,呵呵,这次就这样了吧

to: LoneHome
为什么抗议csdn?
另:怎么结贴?
yonghengdizhen 2002-11-29
  • 打赏
  • 举报
回复
强烈反对在页之间传递sql查询语句的做法..

这会导致严重的数据安全性的问题..
LoneHome 2002-11-29
  • 打赏
  • 举报
回复
抗议CSDN
LoneHome 2002-11-29
  • 打赏
  • 举报
回复
UP
server.urlencode
yonghengdizhen 2002-11-29
  • 打赏
  • 举报
回复
你这个语句是如何在页之间传递的..
如果是url传递,那么%被url编码使用了..
cshadow 2002-11-29
  • 打赏
  • 举报
回复
ShowFaultTable.asp?sqlstr=<%=sqlstr%>
改成:
ShowFaultTable.asp?sqlstr=<%=server.urlencode(sqlstr)%>&
bladeinside 2002-11-29
  • 打赏
  • 举报
回复
sqlstr = Request.Querystring("sqlstr")
pagenumber = request.QueryString("pagenumber")
Set DBConn=Server.CreateObject("ADODB.Connection")

DBConn.Open ConString'ConString是前面定义的连接字符串
set Rs_FaultInfo = server.createobject("adodb.recordset")
Set Rs_FaultInfo=DBConn.Execute(sqlstr)
rcount=RS_FaultInfo.RecordCount
if not isempty(pagenumber) then
displaypage=cint(pagenumber)
else
displaypage=1
end if
perpage=20 '每页行数
if Rs_FaultInfo.bof and Rs_FaultInfo.eof then
response.write "没有记录"
table 'table是函数,将结果显示列表
elseif displaypage=1 then
selectpage
table
elseif (displaypage-1)*perpage < rcount then
'response.write pagenumber & "page"
Rs_FaultInfo.move (displaypage-1)*perpage
selectpage
table
else
displaypage=1
table
end if

sub selectpage()
dim pagenum
dim prepage, nextpage
dim tmp
'统计页数
if (rcount mod PerPage) = 0 then
pagenum = rcount \ PerPage
else
pagenum = rcount \ PerPage + 1
end if
'if pagenum = 1 then exit sub
prepage = displaypage - 1
nextpage = displaypage + 1

%>
<table width="100%" border="0" cellspacing="0" align="center" class="smallfont" scrollbars=yes>
<tr align="center">
<!-- <p> 跳转页码:
|<
<<
>>
>|
-->
<% if displaypage<>1 then%>
<td width="20%"><font size=2>
<a href="ShowFaultTable.asp?sqlstr=<%=sqlstr%>&pagenumber=1">|<第一页</a>
<a href="ShowFaultTable.asp?sqlstr=<%=sqlstr%>&pagenumber=<%=prepage%>")><<上一页 </a>
</font></td>
<%end if%>
<% if displaypage<>pagenum then%>
<td width="20%"><font size=2>
<a href="ShowFaultTable.asp?sqlstr=<%=sqlstr%>&pagenumber=<%=nextpage%>">>>下一页</a>
<a href="ShowFaultTable.asp?sqlstr=<%=sqlstr%>&pagenumber=<%=pagenum%>">>|最后一页</a>
</font></td>
<% end if
tmp = (displaypage-1) * perpage

response.write "共有"+ cstr(rcount)+"条记录,当前记录"+cstr(tmp+1)+"--"

tmp = tmp+perpage

if rcount < tmp then
response.write cstr(rcount)
else
response.write cstr(tmp)
end if
%>
</table>
caoshangfei 2002-11-29
  • 打赏
  • 举报
回复
可能你的参数没有传下去。看看你的代码。
LoneHome 2002-11-29
  • 打赏
  • 举报
回复
在CSDN发贴,只要时间相同,我的帖子就在别人的后面!!郁闷
揭贴先进“管理”

28,391

社区成员

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

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