ASP租赁系统一doc文档格式.docx
《ASP租赁系统一doc文档格式.docx》由会员分享,可在线阅读,更多相关《ASP租赁系统一doc文档格式.docx(16页珍藏版)》请在冰豆网上搜索。
RecordSet保存的是一行行的记录,并标有一个当前记录。
以下是创建方法:
SetRecordSet=Conn.Execute(stStr)
这条语句创建并打开了对象RecordSet,其中Con是先前创建的链接对象,rs是一个字串,代表一条标准的SL语句.例如:
rs=“SELECT* FROMshop_books”
Set RecordSet=mConn。
Execute(rs)
这条语句执行后,对象RecordSet中就保存了表tab1中的所有记录.ﻭ
4、操作数据库ﻭ
我们通过调用链接对象的Execute方法来将结果返回给一个数据对象或进行插入、删除等操作.例如:
rs=“INSERT INTOtab1VALUES(1,2)”ﻭ
mConn。
Execute(rs)ﻭ
/执行插入操作ﻭ
5、关闭数据对象和链接对象ﻭ
在使用了ADO对象之后要关闭它,因为它使用了一定的服务器资源。
通过调用方法close实现关闭,然后再释放它。
RecordSet.closeﻭ
Set RecordSet=Nothingﻭ
/关闭创建的数据对象
mConn。
close
SetmConn=Nothing
/关闭创建的链接对象ﻭ
2。
2ASP与CGI的比较
CGI(nGatewayIntece,通用网关接口)也是Internet上一种功能的Web页面技术,其工作方式有别于ASP.我们现对二者进行比较。
ActiveServerPages开发Web应用程序的特点:
完全嵌入HTML,与HTML、Script语言完美结合.
无须手动编译和链接程序。
面向对象,并可扩展ActiveXServer组件功能。
使用脚本语言(jascript、VBScript或PERL)编写。
存取数据库轻松容易(使用ADO组件)。
可使用任何语言编写自己的ActiveX Server组件。
无浏览器兼容问题.ﻭ
程序代码隐藏,客户端仅能看到ASP输出的HTML文件。
缩短Web开发时间。
相比之下,使用CGI开发Web应用程序具有以下缺点:
不易与HTML文件集成。
须使用其他较复杂的语言来开发CGI程序.ﻭ
程序开发时间较长。
存取数据库不容易.
每个CGI程序被不同用户执行时都得重新执行一次,并占去Server的一个端口(rt),降低Server效率。
可见,ASP在数据库访问、与HTML的集成、提高服务器的效率等诸多方面都优于CGI,更适应Web应用程序开发的需要,因此本文选择了ASP作为个性化页面生成器的开发工具。
第三章需求分析
3.1功能需求分析ﻭ
传统的出租方式是以客户到固定的店面进行挑选,确定后找店员进行登记,交押金以后才能把片子带走,这种出租方式过程中的一些过程非常烦琐,给客户和店主带来的许多的不便.比如:
商店的选址,客户在遇到业务繁忙的情况等等,这就容易造成一些本来可以避免的错误的发生.ﻭ
因此,我们在开发在线的租赁系统的时,应对传统出租过程中的一些问题进行分析,并对其进行修改。
综上所述,租赁系统客户界面部分在开发的时候主要的功能、大致如下:
客户界面部分
用户的登陆和ﻭ
个人信息的查看修改
的浏览
的预定
租赁信息的查看
3.2性能需求分析
3.2.1软件
开发环境为:
OS(操作系统)WindowsXP专业版
服务器:
IIS5。
Xﻭ
开发工具为:
ASP ACCESS数据库Dreamweer
运行环境的基本需求:
IE浏览器ﻭ
3.2.2硬件
OS最低运行环境:
CPUPENTIUNⅡ300M
内存128MBﻭ
硬盘20GBﻭ
Dreamweer最低运行环境:
WinXP,Win2000,NT,Win9Xﻭ
软件理想的运行环境:
Windonws Xp专业版
CPUPENTIUNⅡ300M
内存128MBﻭ
硬盘20GB
第四章总体设计ﻭ
依据需求分析所确定的系统目标进行总体设计
4。
1数据库的设计
4.1。
1数据库的需求分析ﻭ
用户的需求主要体现在对各总细心的浏览的,,保存和更新的操作上,这就要求数据库设计上能够满足用户的这些需求,并且在结构的设计上能够做到简单明了,并保证系统的工作效率
因此,的租赁系统客户管理部分在数据设计时,经过上述的需求分析,应该设计如下的数据项
用户信息:
用户名 密码真实姓名身份证详细住址,电话 E-MAILﻭ
信息:
片名类型 ,图片ID状态ﻭ
类型:
类型ID类型名称ﻭ
租赁信息:
ID 用户ID租借时间租期押金结算时间退还金额ﻭ
:
版权 联系人ﻭ
4。
1.2概念结构的设计ﻭ
①为了方便设计与识别,以后E—R图中代表实体代表属性.
②实体与属性
实体:
用户 类型租借信息ﻭ
属性:
用户:
用户名 密码真实姓名 身份证详细住址
电话E—MAILﻭ
类型编号名称
:
ID片名 图片
租借信息:
ID用户ID 租借时间 租期 押金结算时间退还金额 错误信息
③实体之间联系的分析
用户分为普通用户和管理员用户ﻭ
从属与类型ﻭ
一个用户可以拥有多个预定和租借关系
一部也可以同时拥有多个用户租赁和预定
一个租赁关系只能拥有一个相对应的租赁信息ﻭ
④E-R图
总E-R图ﻭ
实体E-R图
分类E-R图
E—R图ﻭ
用户信息E—R图
租赁信息E-R图ﻭ
1.3数据库逻辑结构的设计ﻭ
租赁系统中所有的数据都存贮在ACCESS数据库中
将上面的数据库感念结构转化为ACCESS数据库所支持的关系数据模型
①关系模式
(ID名称类型 图片状态)
用户:
(用户ID 用户名 密码真实姓名身份证详 细住址电话E—MAIL)ﻭ
类型:
(编号名称)ﻭ
(ID用户ID租借时间租期押金退还时间退还金额错误信息)
②范式分析ﻭ
在数据库逻辑结构设计上,会接触到关系模型数据库关系的最常用的三个范式.数据库关系的完善程度,很大程度上决定了数据库逻辑结构设计的成败,因此,对实体与属性之间的范式分析,是很有必要的。
各个实体与属性之间的范式分析如下:
数据库表中的字段都是单一属性的,不可再分ﻭ
数据库表中不存在非段对任一候选段的部分函数依赖ﻭ
数据表中如果不存在非段对任一候选段的函数依赖
4.1。
4物理结构的设计
命名规则:
1.没一个表把一个缩写用做表的一部分,如Viddeoinfo被缩写成VI
所有的列名后面都有一个后缀,用来表示大致的数据类型,如S代表字符串类型,N代表数值数据类型等等ﻭ
3.主键包含一个后缀ID
外键包含其父键的主键名称及后缀F
由上面对实体与属性之间的关系分析与范式分式,得出了系统的物理结构如下:
租价方案表
字段名描述键类型长度空值默认值
PMT_ID_N租价方案ID●autocountNotNull
PMT_Price_N日租价singleNotNull0
PMT_Desit_N押金singleNotNull
PMT_Description_N租价方案描述varr50NotNull0
PMT_LateFee_N滞纳金singleNotNull0ﻭ
.
供应商信息表
字段名描述键类型长度空值默认值ﻭ
PI_ID_N供应商ID●autocountNotNullﻭ
PI_Name_S名称varr50NotNull
PI_Description_S描述varr250ﻭ
表
SI_Owner_S系统使用者●varr250
SI_Copyright_N版权所有者varr200
SI_About_Svarr250ﻭ
SI_Logo_SLogo地址varr250ﻭ
SI_Content_S联系人Emailvarr250ﻭ
租赁信息表ﻭ
TAC_ID_N租赁号●autocountNotNull
TAC_VI_ID_FN租赁ID○intNotNullﻭ
TAC_UI_ID_FN租赁用户ID○intNotNullﻭ
TAC_ReserveTime_D预定时间datetimeNotNullﻭ
TAC_TimeOut_B是否超时datetimeNot NullFalseﻭ
TAC_Return_B是否返还booleanNotNullFalseﻭ
TAC_StartTime_D起租时间datetimeﻭ
TAC_Lease_N租期int1
TAC_EndTime_D结租时间datetime
TAC_UserPayment_N用户付款数single0ﻭ
TAC_Status_N租赁状态intNot Null
承载介质表ﻭ
TI_ID_N介质ID●autocountNotNull
TI_Description_S介质名varr100NotNull
信息表ﻭ
VI_ID_D●autocountNot Null
VI_TI_ID_FN介质ID○intNotNullﻭ
VI_VS_ID_FN类型ID○intNotNullﻭ
VI_PMT_ID_FN租价方案ID○intNot Null
VI_PI_ID_FN供应商ID○intNot Nullﻭ
VI_Title_S名varr50NotNull
VI_Content_S内容big varrﻭ
VI_Director_S导演varr100ﻭ
VI_Playactor_S演员varr100
VI_Issuer_S发行商varrﻭ
VI_Rank_N评价intNotNull1
VI_RentCount_N出租次数intNot Null0
VI_Count_N浏览计数intNotNull0ﻭ
VI_Status_N状态intNot Null1ﻭ
VI_AddTime_D添加时间datetimeNotNullNow()
VI_Img_S图片地址varr150ﻭ
类型表
VS_ID_N类型ID●autocountNotNullﻭ
VS_Description_S描述varr50NotNullﻭ
VS_Count_N类型浏览技术intNotNull0ﻭ
VS_RentCount_N类型租赁计数intNotNull0ﻭ
用户信息表
UI_ID_N用户ID●autocountNotNullﻭ
UI_PI_ID_FN供应商ID○intNot Null0
UI_Name_S用户名varr20NotNull
UI_Password_S密码varr100Not Null
UI_IsLock_B用户是否锁定booleanNotNullFalse
UI_CerRank_N信用级别intNotNull0ﻭ
UI_IsProvider_B用户是否为供应商booleanNotNullFalseﻭ
UI_Email_SEmailvarr50Not Nullﻭ
UI__Svarr20
UI_IsAdmin_B用户是否为管理员booleanNotNullFalse
UI_RentCount_N用户租赁计数intNotNull0
注意:
键类型中,“●”标注的为主键;
“○"
标注的为外键。
4.2功能模块的划分ﻭ
由于我做的主要是客户界面的设计,因此,经过上面的分析,由实体与属性之间的关系,以及对实际租赁过程的分析,得出客户界面的功能大致如下:
第五章详细设计
5.1模块详细的设计
Index。
asp系统初始界面
功能:
用户可在这里浏览,租赁,可以进行登陆,
Login。
asp用户登陆模块
功能:
用户可以进行登陆ﻭ
Logout.asp用户用户注销登陆模块
功能 用户可以进行用户帐号的注销
Reg。
asp用户模块
功能用户可以进行帐号的
Bookvie。
asp 用户预定模块ﻭ
功能用户可以在这里进行的预定
Disprent.asp 显示租赁信息模块ﻭ
功能:
可以显示租赁信息
Dispvie.asp显示信息ﻭ
功能:
用户可以在这里浏览ﻭ
5.1.1模块接口ﻭ
在用户登陆主界面的时候,调用模块与被调用的模块,及调用的数据库文件之间的关系如下:
调用模块名 index。
aspﻭ
被调用模块名login。
aspreg。
aspdispvie。
sap NBar.asp
index为首页 在这上面有用户的登陆,和的浏览,用户在点的时候的就调用了reg.sap,在点登陆的时候就调用了login.asp,在点注销的时候就调用了logout。
asp,在用户打开页面的时候,可以浏览,这时候就要调用dispvie.aspﻭ
输入,输出部分ﻭ
在用户进行登陆的时候,用户名和密码为输入项,由login.asp收并连入数据库与userinfo进行比较核对,看是否为已经的用户ﻭ
。
用户不是用户的话,可以进行,这时候调用reg.asp,又它把用户的信息输入数据库userinfoﻭ
在打开系统时,且没时用户可以浏览,这时候调用dispvie.asp,从数据库videoinfo调出的信息
也可以点的类型名称进行浏览,这时间调用的是NBar。
asp,由它连入数据库VideoStyle,调出数据项ﻭ
当用户登陆时,如果帐号密码输入不正确的话,这时候调用chkerr.asp,并连入数据库ErrCode,输出信息提醒用户ﻭ
用户登陆以后可以在这里进行用户的管理,已租,预定的和到期的查看和的浏览,注销,和的分类浏览。
调用的模块是Login.asp,
被调用的是difyUser。
asp Disprent.aspDispvie。
asplogout。
asp
输入输出部分
当用户在点击用户管理时,调用difyUser.asp,由它连入数据库userinfo,当用户修改了信息的时候,又由difyUser.asp把修改后的信息存入userinfo中
当用户在点击已租,到期的查看的时候,调用的是login.asp,由它连入数据库Tenancy
当用户点注销的时候,调用的是logout.asp
用户在浏览和租赁的时候ﻭ
调用的是head.asp
被调用的是NBar.aspBookvie。
aspDispvie.asp
输入输出部分:
当用户浏览的时候,调用的Dispvie。
asp,由它连入数据库VideoInfo,并把信息输出ﻭ
当用户点击分类浏览的时候,调用的是NBar.asp,由它连入数据库,并把信息输出ﻭ
当用户在预定的时候调用的是Bookvie。
asp,由它连入数据库Tenancy,并把数据输出
5.2页面设计及代码
5.2.1页面及代码分析ﻭ
代码分析:
当用户在点击,填写了信息,点按钮的时候,执行的代码如下:
‘如果检测到浏览器的值IsReg不为空,则执行代码;
如果为空,则显示页面
‘代码部分
IfReuest(“IsReg”)““Thenﻭ
’用户输入的合法性
‘用户名、密码、确认密码、Email不能为空
If Reuest(“UserName”)=““OrReuest(“UserPassword”)=““_ﻭ
Or Reuest(“ConfirmPassword”)=““OrReuest(“Email"
)=““ Thenﻭ
ResultMsg(“必填的项目没有填写,请返回重新填写完整的信息!
”)ﻭ
Resnse。
End
EndIf
‘用户名不能为一排空格ﻭ
DimtmpUserNameﻭ
Fori=1ToLen(Reuest(“UserName”))ﻭ
tmpUserName=tmpUserName ““ﻭ
Nextﻭ
If tmpUserName=Reuest(“UserName"
) Thenﻭ
ResultMsg(“请不要输入空格代替必填项目,请返回重新填写完整的信息!
Resnse.Endﻭ
EndIfﻭ
‘密码与确认密码的输入必须匹配ﻭ
IfReuest(“UserPassword"
) Reuest(“ConfirmPassword”)Then
ResultMsg(“两次输入的密码不匹配,请返回重新输入!
”)
Resnse。
Endﻭ
EndIfﻭ
‘Email必须符合格式
If IsValidEmail(Reuest(“Email”))=FalseThen
ResultMsg(“Email输入不符合规范,请返回重新输入!
Resnse.Endﻭ
EndIfﻭ
‘若号不为空,则输入必须为数字ﻭ
IfReuest(“”) ““Thenﻭ
IfIsNumeric(Reuest(“”))=FalseThenﻭ
ResultMsg(“号码必须为数字,请返回重新输入!
Resnse。
EndIfﻭ
EndIfﻭ
‘用户名与密码中不能包含SL字符“’”
IfInStr(Reuest(“UserName”),”‘“)0 OrInStr(Reuest(“UserPassword"
),”‘“)0Thenﻭ
ResultMsg(“字符“‘"
为非法输入,请去掉此字符!
Resnse.End
EndIf
‘用户名、密码、Email和的字符数量不能超过数据库项目的数据类型的限制ﻭ
IfLen(Reuest(“UserName”))20OrLen(Reuest(“UserPassword”))20_ﻭ
OrLen(Reuest(“Email”))50 OrLen(Reuest(“”))20 Thenﻭ
ResultMsg(“输入超出了最大字符数量限制(用户名20字符以内”_ﻭ
”,密码20字符以内,Email50字符以内, 20字符以内。
)”)
Resnse。
End
’取得用户输入ﻭ
DimUserName,UserPassword,Email,
UserName=Server。
HTMLEncode(Reuest(“UserName”))ﻭ
’根据用户名用户是否已存在ﻭ
strSL=“SELECTUI_Name_S FROM ”_ﻭ
”WHEREUI_Name_S=‘“Reuest(“UserName”)“‘“ﻭ
SetobjRS=Server.CreateObject(“ADODB.RecordSet”)
objRS.OpenstrSL,objConn,1,3ﻭ
‘如果没有找到任何用户,则输出操作信息ﻭ
If NotobjRS。
BOFOrNotobjRS.BOFThenﻭ
ResultMsg(“所的用户名已存在,请更换用户重新!
Resnse.Endﻭ
End Ifﻭ
objRS.Closeﻭ
’将用户信息写入数据库
strSL=“INSERTINTO (UI_PI_ID_FN,UI_Name_S,UI_Password_S” _
”,UI_IsLocked_B””,UI_CerRank_N,UI_IsProvider_B,UI_Email_S,UI__S,”_ﻭ
”UI_IsAdmin_B,UI_RentCount_N)VALUES(0,’” UserName “‘,’”UserPassword _
“‘,False,0,False,’”Email“‘,’”“‘,False,0)”ﻭ
objConn.Execute(strSL)ﻭ
ResultMsg(“您的已成功!
SetobjRS=Nothing
CloseDatabaseﻭ
Else
5.2.2用户登陆界面及代码分析
用户登录时,需要检测用户名和用户密码;
用户名和密码通过检测后,需要用户是否被锁定.检测通过后,还需要遍历数据库中的数据,找出有没有用户的租赁超过了期限,如果超过了则在数据库中进行标注。
代码分析:
!
--#include file=“CONN。
ASP”-—
!
--#includefile=“ChkSL.asp”--ﻭ
—-#includefile=“ChkErr.asp"
——
%ﻭ
Dim strSL,objRSﻭ
Set