保留查询条件的问题,寻去解决方案

ssh78 2009-11-04 02:28:24
查询条件,查询结果页面都在同一页面上,加了个输出excel的按钮。
操作是这样的:输入查询条件,本页显示查询结果,然后点击“输出excel”按钮,可以将查询结果保留到excel中

但是这样做,我理解的是需要保留上次的查询条件,然后再点“输出excel”按钮,等于再次提交表单。不知道我理解的对不对,该怎样实现。

代码如下:
<td class="DetailDescription-TdCN">年度</td>
<td class="DetailValue-TdCN">
<select name="ayear" onChange="showtext(this.value)" >
<option selected="selected" value="">请选择</option>
<option value="2010">2010</option>
<option value="2011">2011</option>
<option value="2012">2012</option>
<option value="2013">2013</option>
<option value="2014">2014</option>
<option value="2015">2015</option>
</select>
</td>
..............查询条件若干
<td class="DetailValue-TdCN" colspan="4"><input name="cmdb" value="查询" type="submit" /></td>

<%
If Request("cmdb")="查询" then
..............查询语句
while not rs.eof
%>
<tr class="ListValue-TdCN">
<td><%=rs("id")%></td>
..............查询结果若干
</tr>
rs.movenext
wend
rs.close()
set rs = nothing
end if
%>
<td class="DetailValue-TdCN" colspan="4"><input name="cmdb" value="输出excel" type="submit" /></td>
...全文
82 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
这样的方式都不安全,如果你把SQL语句放在隐藏域里,别人就能知道你的表,如果你这个语句还带着字段名,那还知道了字段名,危险性加大

不建议这么干
用隐藏域来保存查询条件比保存查询语句要强得多,他们效率基本是同等的,安全性方便要比你用隐藏域保存SQL语句要高不少
ssh78 2009-11-05
  • 打赏
  • 举报
回复
哈哈,谢谢你们了,总是你们两个来帮忙,谢谢
toury 2009-11-04
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 ssh78 的回复:]
我这个sql语句该怎么保存下来呢?
[/Quote]
2楼我给了一个隐藏域strSQL就是用来保存查询语句的呀。不过漏了几个字母,更正:
<input type=hidden id=strSQL name=strSQL value= <%=server.HTMLEncode(sql)%>>

当然,用隐藏域POST提交查询语句也可以不加密。但用get提交一定要加密
lzp4881 2009-11-04
  • 打赏
  • 举报
回复
<td class="DetailDescription-TdCN">年度 </td>
<td class="DetailValue-TdCN">
<select name="ayear" onChange="showtext(this.value)" >
<option selected="selected" value="">请选择 </option>
<option value="2010">2010 </option>
<option value="2011">2011 </option>
<option value="2012">2012 </option>
<option value="2013">2013 </option>
<option value="2014">2014 </option>
<option value="2015">2015 </option>
</select>
</td>
..............查询条件若干
<td class="DetailValue-TdCN" colspan="4"> <input name="cmdb" value="查询" type="submit" /> </td>

<%
If Request("cmdb")="查询" then
..............查询语句
while not rs.eof
%>
<tr class="ListValue-TdCN">
<td> <%=rs("id")%> </td>
..............查询结果若干
</tr>
rs.movenext
wend
rs.close()
set rs = nothing
end if
%>
<td class="DetailValue-TdCN" colspan="4"> <input name="cmdb" value="输出excel" type="button" onclick="location.href=?sql=查询语句" /> </td>
ssh78 2009-11-04
  • 打赏
  • 举报
回复
我这个sql语句该怎么保存下来呢?
toury 2009-11-04
  • 打赏
  • 举报
回复
<%
If Request("cmdb")="查询" then
sql="..............查询语句"
rs.open sql,conn,1,1
while not rs.eof
%>
<tr class="ListValue-TdCN">
<td> <%=rs("id")%> </td>
..............查询结果若干
</tr>
rs.movenext
wend
rs.close()
set rs = nothing
end if
%>
<input type=hidden id=strSQL name=strSQL value=<%=server.Encode(sql)%>>
<td class="DetailValue-TdCN" colspan="4"> <input name="cmdb" value="输出excel" type="submit" /> </td>

然后在页首取回
strSQL=request.form("strSQL")
lzp4881 2009-11-04
  • 打赏
  • 举报
回复
可以是再次表单,也可以直接将生成的sql语句提交

28,391

社区成员

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

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