|
main_result.asp
该页面的最主要部分就是记录集的建立,在这个记录集中我们要根据页传递过来的参数来生成变量,再利用SQL语句以变量值进行查询,最后生成所需的记录集。
(1) 我们先看记录集中变量的建立:
在记录集建立的“advanced...”视窗中,点击“Variables”右边的“+”按钮增加一个变量,如下表所示
| 序号 |
Name |
Default Value |
Run-time Value |
| 变量名 |
默认值 |
运行时刻值 |
| 1 |
MM_name |
% |
Request.QueryString("Name") |
| 2 |
MM_Author
|
% |
Request.QueryString("Author") |
| 3 |
MM_Date |
% |
Request.QueryString("Date") |
| 4 |
MM_Price1 |
1 |
Request.QueryString("Price1") |
| 5 |
MM_Price2 |
9999 |
Request.QueryString("Price2") |
| 6 |
MM_Quality |
% |
Request.QueryString("Quality") |
| 7 |
MM_Summary |
% |
Request.QueryString("Summary") |
| 8 |
MM_Sort |
ID |
Request.QueryString("Sort") |
| 9 |
MM_Array |
DESC |
Request.QueryString("Array") |
(为方便说明这里增加序号一栏)
先说明这里的默认值表示用户在没有选择查询条件时,图书记录就是按照这个值来显示的。
- 序号1,MM_name是书名的变量,默认值中的“%”在SQL中表示通配符,这里表示获取所有记录,运行时刻值中的“Request.QueryString("Name")”表示从上页以GET方式传递过来的参数中获得“Name”参数值;
- 序号2、3、6、7与序号1意思相同;
- 序号4、5是价格的上、下限值,默认值取1-9999一般是不会有问题的;
- 序号8是排序的条件,也就是按照哪个字段来排序,默认是“ID”;
- 序号9是排序的方式,默认为递减“DESC”。
(2) 设定完变量后我们要在“SQL”文本域中写入sql的查询语句
- SELECT *
- FROM Books
- WHERE
- Name LIKE '%MM_name%'
- AND Author LIKE '%MM_Author%'
- AND Date LIKE 'MM_Date'
- AND MM_Price1 < Price AND Price < MM_Price2
- AND Quality LIKE 'MM_Quality'
- AND Summary LIKE '%MM_Summary%'
- ORDER BY MM_Sort MM_Array
解释:
- 取得所有字段
- 在Books表中
- 过滤
- Name字段内具有MM_Name的所有记录(在变量前后加上%表示变量前后或许存在字符串,再加上'是因为sql中规定字符串必须用''包含,而数字无此规定)
- 与第四行同样解释……
- ……
- 下限变量MM_Price1值小于Price字段并且Price字段小于上限变量MM_Price2
- 与第四行同样解释,不过这里的字符是肯定相同所以不必加上%了
- ……
- 用MM_Sort变量中的字段名以MM_Array变量中的排序方式进行排序
|