ASP入门基础教程:实例网上图书管理系统
ASP入门基础教程-实例 网上图书管理系统
本管理程序的主要功能有:1、图书列表展示功能;2、图书放置购物车、移去购物车和清空购物车功能;3、购书结帐功能;4、新会员注册功能。
Iindex.asp 首页。框架结构。上框架连接Top.htm页面,下框架连接Booklist页面。
Conn.asp 数据库连接文件。在所有与数据库连接的页面中只要包括该文件,即可以连接和打开数据库。
'创建连接对象
<% set Conn=server.CreateObject("ADODB.Connection")
'连接字符串
strSQL="Driver={Microsoft Access Driver (*.mdb)};DBQ=" &_
server.MapPath("bookshop.mdb")
conn.open(strSQL)
%>
Top.htm 图书列表 Top 页。仅仅是一个图片标题页。
Booklist 以表格的形式分页显示出所有的图书。
本页面以表格的形式分页显示出所有记录。实现过程如下:
1、使用一个包含文件,创建一个数据库连接对象;
2、创建一个记录集对象;
3、创建一个表格,第一行用来显示字段名;
4、判断记录指针是不是到了记录的头部或尾部之外,若是显示提示信息,若不是,则开始进行提取当前页的每一条记录和进行分页;
5、通过Do While 循环语句,将当前页的每一条记录读取出来;
6、通过For 循环将除当前页码之外的每一个页码做一个超连接;
7、关闭记录集对象并释放其所占用的所有资源;
8、关闭连接对象并释放其所占用的所有资源。
<%@LANGUAGE="VBSCRIPT"%>
<%
'创建一个记录集对象。
set rs_booklist=Server.CreateObject("ADODB.RecordSet")
sql="SELECT BookID, BookName, bnumber FROM DB_bookinfo ORDER BY bnumber DESC,bookname"
rs_booklist.open sql,conn,1,3
%>
书号 | 书名 | 数量 | |
" & rs_booklist("BookID") & " | "" & rs_booklist("BookName") & " | "" & rs_booklist("bnumber") & " | "
'开始做分页连接。
Response.Write "
分页: "
'通过For 循环将除当前页码号之外的每一个页码号做一个超连接,
For j=1 To page_total
If j=page_nonce Then
Response.Write j & " "
Else
Response.Write "" & j & " "
End If
Next
End If
rs_booklist.Close
Set rs_booklist=nothing
Conn.Close
Set Conn=nothing
%>
Buycar_add.asp 添加至购物车。
本页面是一个程序处理页。其主要功能有:
1、通过 Session("BookIDList") 变量在打开网页时清空 BookIDList 中的值,因为刚打开网页 Session("BookIDList") 为空;
2、将由Request对象获得的“图书ID”存入变量 BookIDList 中;
3、将变量 BookIDList 中的值赋给 Session 对象中的 BookIDList变量,以便在"buycar_see.asp"页面中使用;
4、将页面'转到"查看购物车"页面 "buycar_see.asp"。
注:InStr 函数返回的是一个位置值,此位置是一个搜索字符串在另一个被搜索字符串中的出现的位置。其格式如下:
InStr([IngStartPos] , strString1 , strString2 [, compare])
参数:IngStartPos :从strString1 中开始对 strString2 进行搜索的位置;
strString1 :字符串,在这个字符串中搜索 strString2 ;
strString2 :所需搜索的字符串;
Compare :一个数值数据,用来指定所采用的搜索比较方式;如果此参数被忽略,则缺省值为0(即vbBinaryCompare),招待的是二进制比较。
<%@ language="VBScript"%><%
BookIDList = Session("BookIDList") '此句的功能是打开网页时清空 BookIDList 中的值。
If Len(BookIDList) = 0 Then '如果第一次提交购物车中的图书,
BookIDList = "'" & request("bookID") & "'"
'则将由Request对象获得的“图书ID”存入变量 BookIDList 中。
ElseIf InStr( BookIDList, request("bookID")) <= 0 Then
'如果不是第一次提交购物车的图书,而且,当前提交的图书在这之前没有提交过,
BookIDList = BookIDList & ", '" & request("bookID") & "'"
'则将本次提交的”图书ID“存入变量 BookIDList 的尾部,并用逗号与前面的值分开。
End If
Session("BookIDList") = BookIDList
'将变量 BookIDList 中的值赋给 Session 对象中的 BookIDList变量。
Response.Redirect "buycar_see.asp" '转到查看购物车页面
'InStr 函数返回的是一个位置值,此位置是一个搜索字符串在另一个被搜索字符串中的出现的位置。
%>
Buycar_see.asp 查看购物车。 本页面以表格的形式将您所选图书显示出来,在此可以由您修改所购图书的数量,然后自动计算金额和合计总金额。并通过四个超连接,分别连接到登录收银台页面(Checkout.asp)、主页面(index.asp)、从购物车中移去所选图书页面(move.asp)和清空购物车页面(Clear.asp)。
注: 函数:返回表达式,此表达式已被转换为 Double 子类型的 Variant。
<% if request.Form("jiezhang")="到收银台结账" then
response.Redirect("checkout.asp")
end if
If Len(session("BookIDList")) <> 0 Then
'如果 session("BookIDList") 的长度不为零,即其不为空,则执行下面的SQL语句。
sql = "Select * From DB_bookinfo Where BookID In (" &_
session("bookIDList") & ") Order By BookID"
'从 DB_bookinfo 表中查询”图书ID“与在session("bookIDList")变量保存的值中相匹配的记录,并以”图书ID“排序
Set rs = conn.Execute( sql )
'执行上面的 SQL 语句,并返回一个记录集。
else
'如果session("BookIDList") 的长度不为零,即其不为空,则跳转到 ”buycar_empty.asp"页面。
Response.Redirect "buycar_empty.asp"
end if
%>