在ASP中使用SQL语句之10:视图
假设你有个页面的名字叫customers. ,页面执行会从customers表内选取全部记录并按照字母表顺序对客户姓氏排序。先前我们已经看到过排序的代码了,为了实现反向排序,你只需要在order by 表达式之后加上desc 即可:
sql = "select c_lastname, c_firstname, c_email from customers order by c_lastnamedesc"
要在静态模式下这也不赖。但是,也许你想修改以上代码使之提供新的gui功能:
<a href="customers.asp ">sort ascending</a> | <a href="customers.asp?sort=desc">sort descending</a>
<p>
<%
sql = "select c_lastname, c_firstname, c_email from customers order by c_lastname " & sort & " "
set objrec = objconn.execute(sql)
while not objrec.eof
response.writeobjrec("c_lastname") & ", " & objrec("c_firstname") & "
" & objrec("c_email") & "<p>"
objrec.movenext
wend
%>
以上代码最开头的链接允许用户修改页面的视图。你可以重载同一页面来查看这些信息,但是,在sort descending链接的情况下,页面会给sort 变量赋值。然后,在sql语句内就没有指定desc而是采用 sort 变量的值。
下面要做的就是读取页面顶部sort 的值。
<%
sort = request.querystring("sort")
%>
以上代码从url中检出sort的可用值。
并没有令你费太多的功夫,你还可以调整同一页面允许用户对特定的列排序。简单的select 菜单表单控件列出sort by 选项可能是一个更方便的措施。