欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

在ASP中使用SQL语句之10:视图

程序员文章站 2024-01-30 11:24:28
假如页面上有很多条记录,很多情况下,对这些信息按照字母表降序排序会比传统的升序排序显示效率更高。采用你熟悉的order by 子句,你可以很容易地在页面上增加这一功能,让用户控制其记录显示的视图。...
假如页面上有很多条记录,很多情况下,对这些信息按照字母表降序排序会比传统的升序排序显示效率更高。采用你熟悉的order by 子句,你可以很容易地在页面上增加这一功能,让用户控制其记录显示的视图。

假设你有个页面的名字叫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 选项可能是一个更方便的措施。