ASP+Oracle网上购物系统报告.docx

上传人:牧羊曲112 文档编号:3152900 上传时间:2023-03-11 格式:DOCX 页数:36 大小:49.06KB
返回 下载 相关 举报
ASP+Oracle网上购物系统报告.docx_第1页
第1页 / 共36页
ASP+Oracle网上购物系统报告.docx_第2页
第2页 / 共36页
ASP+Oracle网上购物系统报告.docx_第3页
第3页 / 共36页
ASP+Oracle网上购物系统报告.docx_第4页
第4页 / 共36页
ASP+Oracle网上购物系统报告.docx_第5页
第5页 / 共36页
亲,该文档总共36页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《ASP+Oracle网上购物系统报告.docx》由会员分享,可在线阅读,更多相关《ASP+Oracle网上购物系统报告.docx(36页珍藏版)》请在三一办公上搜索。

1、ASP+Oracle网上购物系统报告一、背景 在互联网日益流行的今天,网络成为了人们获取信息的主要渠道,而在网络的大家庭中,电子商务则是一个热门,电子商务的一个最基本体现就是电子购物网站,从一定程度上讲它就是网上超市,也就是一种网上销售,人们利用网络购物,不需要再像传统的购物一样在街上东奔西跑,既可以节约时间,又可以节约精力,对于在网络上开店的企业来说,电子商务使得企业能直接面向最终客户,从而降低交易成本和客户售后咨询等服务费用,尤其是对无形产品的服务,现阶段企业开展电子商务以加强与客户的沟通和促进产品销售,对于买卖双方来说都是有益的。 二、实验目的 进一步熟悉和掌握Oracle的各种操作。

2、能够在实际的事例中灵活运用学到的有关知识。 能够编写满足某种要求的功能。 三、实验内容 1. 2. 3. 4. 5. 6. 7. 8. 9. 数据库结构设计 目录结构与通用模块 管理主界面与登录程序设计 公告信息管理模块设计 商品类别管理模块设计 商品管理模块设计 订单管理模块设计 系统主界面与登录程序设计 设计商品查询及购买模块 四、数据库设计 因为这门课程是ORACLE,所以这里我主要介绍ORACLE,ASP以前学过,不是这门课的主要内容,这里就简写ASP的内容,首先说下 就是数据库的设计,刚开始的时候按照书上的数据库原封不动的打下来的,可是运行的时候有错误,所以就上网查资料,最后给数据库

3、每个表都加了主键,而且建了存储过程和触发器。 数据库和书上的一样,就是都添加了主键,下面我把存储过程和触发器加上。 create sequence goodstype_id minvalue 1 maxvalue 9999999 start with 1 increment by 1 cache 20; create sequence basket_id minvalue 1 maxvalue 9999999 start with 1 increment by 1 cache 20; create sequence Board_id minvalue 1 maxvalue 9999999 st

4、art with 1 increment by 1 cache 20; create sequence goods_id minvalue 1 maxvalue 9999999 start with 1 increment by 1 cache 20; create or replace trigger basketTR before insert on shopman.basket for each row begin select basket_id.nextval into :NEW.id from dual; end; create or replace trigger boardTR

5、 before insert on shopman.board for each row begin select board_id.nextval into :NEW.id from dual; end; create or replace trigger goodsTR before insert on shopman.goods for each row begin select goods_id.nextval into :NEW.id from dual; end; create or replace trigger goodstypeTR before insert on shop

6、man.goodstype for each row begin select goodstype_id.nextval into :NEW.id from dual; end; 五、IIS的配置 我的机子是WIN7系统,不好配置,上网找了好多资料,才把IIS配置好 控制面板-程序-打开/关闭windows功能 按图进行设置 单击确定 退回到控制面板界面 选择系统和安全-管理工具-Internet 信息服务(IIS)管理器 双击Internet 信息服务(IIS)管理器,会看到 右击Default Web Site选择管理网站-高级设置 设置物理路径和应用程序池。 六、代码的编程 基本都是按书

7、上打的,和说上的代码基本一样。 1、目录结构 Admin Adminimages Umages User Shop 2、通用模块 ConnDB.asp isAdmin.asp % 从Session变量中读取用户信息 AdminId = Trim(Session(admin_id) Passwd = Trim(Session(admin_pwd) 用户名是否为空 If AdminId Then sql = Select * From Admin Where AdminId= & AdminId & And Passwd= & Passwd & 是否存在此用户名 Set rs = Conn.Exe

8、cute(sql) If rs.EOF Then Response.Redirect Login.asp End If Else Response.Redirect Login.asp End If % isUser.asp 项目三 1、设计管理主界面 管理主界面AdminIndex.asp 2、设计Admin/AdminIndex.asp 网上商城订单管理 此网页使用了框架,但您的浏览器不支持框架。 包含下面外部文件 3、设计adminleft.asp 4、设计用户登录设计 5、管理用户登录程序设计 在addminlogin.asp中,定义表单代码如下: 当数据提交后,将执行putsessi

9、on.asp把用户保存在session变量中,然后把网页转向到adminlogin.asp中。当再次执行left.asp时程序将接受用户信息,惊醒身份验证,代码如下:% 根据录入的用户信息查询数据 AdminId = Trim(Session(admin_id) AdminPwd = Trim(Session(admin_pwd) If AdminId Then sql=Select * From Admin Where AdminId= & AdminId & And Passwd= & AdminPwd & Set rsa = Conn.Execute(sql) 如果用户存在,则转向到Ad

10、minIndex.asp If Not rsa.EOF Then Response.Redirect(AdminIndex.asp) End If End If % 为了在系统运行过程中掌握当前登录用户的信息,通常要把用户信息保存在session变量中。 项目四 公告信息管理模块 1添加新的公告记录; 2修改公告记录; 3删除公告记录。 只有管理用户才有权进入公告信息管理模块。 1设计公告管理页面 公告管理页面为boardlist.Asp,公告的添加、修改和删除都在这里执行。 显示公告信息 % 设置SQL语句,查询表Board中的公告信息,读取到rs对象中 Dim rs Set rs = Se

11、rver.CreateObject(ADODB.RecordSet) sql = Select * From Board Order By PostTime Desc Dim n 用来保存记录数量 rs.Open sql,Conn,1,1 如果rs为空,则显示提示信息 If rs.EOF Then Response.Write 目前还没有公告。 Else % 公 告 管 理 编号 题目 时间 修改 选择 % 设置每页记录数量为15 rs.PageSize = 15 设置并读取页码参数page iPage = CLng(Request(page) If iPage rs.PageCount Th

12、en iPage = rs.PageCount End If RowCount = rs.PageSize 依次显示公告信息 Do While Not rs.EOF And RowCount 0 n = n + 1 % a href=./BoardView.asp?id= onClick=return BoardWin(this.href) a href=BoardEdit.asp?id= onClick=return BoardWin(this.href)修改 input type=checkbox name=Board id= style=font-size: 9pt 1 then Res

13、ponse.Write 分页: For i=1 to rs.PageCount Response.Write Response.Write & i & Next Response.Write End If End If % 显示功能按钮          2添加公告信息 在boardlist页面“添加公告”按钮,将调用boardwin函数,在新窗口中打开boardaddt.Asp,添加公告信息,定义表单到吗如下: 提交前要对表单进行域校验 function checkFields if (myform.title.value=) al

14、ert(公告题目不能为空); myform.title.onfocus; return false; if (myform.content.value=) alert(公告内容不能为空); myform.content.onfocus; return false; return true; Boardsave.asp主要代码如下: % Function changechr(str) changechr = replace(str, , ) changechr = replace(changechr,chr(13),) End Function Dim StrAction 得到动作参数

15、,如果为add则表示创建公告,如果为update则表示更改公告 StrAction = Request.QueryString(action) 取得公告题目和内容和提交人用户名 title = Trim(Request(title) content = changechr(Trim(Request(content) poster = Session(admin_id) If StrAction=add Then 在数据库表Board中插入新公告信息 sql = Insert into Board(title,content,posttime,poster) Values(&title&,&co

16、ntent&,&now&,&poster&) Else 更改此公告信息 id = Request.QueryString(id) sql = Update Board Set title=&title&,content=&content&,posttime=&now&,poster=&poster& where id=&id End If response.write sql 执行数据库操作 Conn.Execute(sql) Response.Write 公告成功保存 % 3 修改公告 进入boardedit。Asp页面,表单myform的定义代码: form name=myform met

17、hod=POST action=BoardSave.asp?action=update&id= OnSubmit=return checkFields 与添加公告相同的是,提交表单前需要进行域校验主要代码如下: % 从数据库中取得此公告信息 Dim id,rs,sql 读取参数id id = Request.QueryString(id) 根据参数id设置sql语句,读取指定的公告信息 sql = SELECT * FROM Board WHERE id = & id 执行SQL语句,将公告信息读取到rs记录集中草药 Set rs = Server.CreateObject(ADODB.Rec

18、ordSet) rs.Open sql,conn,1,1 如果记录集为空,则显示没有此公告 If rs.EOF Then Response.Write 没有此公告 结束网页输出 Response.End Else 替换公告内容中的特殊字符 content=Replace(rs(content),chr(13) content=Replace(content, , ) 下面内容是在表格中显示公告内容 % form name=myform method=POST action=BoardSave.asp?action=update&id= OnSubmit=return checkFie

19、lds 公告标题 input type=text name=title size=20 value= 公告内容 4 删除公告 在删除公告前,需要选中相应的复选框。 选择全部复选框 在boardlist.asp中,定义“全选” 按钮的代码如下: 当单击“全选”按钮时,将执行sltAl函数,代码如下: function sltAll var nn = self.document.all.item(Board); for(j=0;jnn.length;j+) self.document.all.item(Board,j).checked = true; 全部清空选择 在boardlist。Asp中,

20、定义“清空”按钮代码: 当单击“清空”按钮时,将执行sltnull函数,代码如下: function sltNull var nn = self.document.all.item(Board); for(j=0;jnn.length;j+) self.document.all.item(Board,j).checked = false; 生成并提交删除编号列表 在boardlist.asp中,定义“删除”按钮的代码: 当单击“删除”按钮时,将执行selectchk函数,代码如下: function SelectChk var s = false; /用来记录是否存在被选中的复选框 var B

21、oardid, n=0; var strid, strurl; var nn = self.document.all.item(Board); /返回复选框Board的数量 for (j=0; jnn.length; j+) if (self.document.all.item(Board,j).checked) n = n + 1; s = true; Boardid = self.document.all.item(Board,j).id+; /转换为字符串 /生成要删除公告编号的列表 if(n=1) strid = Boardid; else strid = strid + , + Bo

22、ardid; strurl = BoardDelt.asp?id= + strid; if(!s) alert(请选择要删除的公告!); return false; if (confirm(你确定要删除这些公告吗?) form1.action = strurl; form1.submit; 项目五 商品类别管理模块 商品类别管理模块可以实现的功能如下: 1、 添加新的商品类别记录; 2、 修改商品列表记录; 3、 商品类别信息; 只有管理员用户才能进入adiminindex.asp页面, 1设计商品类别管理页面 在goodslist。Asp页面中于见面显示相关部分的代码 1、 显示商品的信息

23、商 品 类 别 管 理 类 别 修 改 选 择 % Dim rs Set rs = Server.CreateObject(ADODB.RecordSet) 读取所有的商品类别数据到记录集rs中 sql = SELECT * FROM GoodsType ORDER BY Id rs.Open sql,conn,1,1 If rs.EOF Then Response.Write 目前还没有记录。 Else Do While Not rs.EOF % a href=GoodsType.asp?Oper=update&id=&name=修改 input type=checkbox name=typ

24、e id= 2、 显示功能按钮主要代码如下: If rs.RecordCount 0 Then %       3、 显示添加或修改商品类别的表单主要代码: form name=UFrom method=post input type=hidden name=sOrgTitle value= 类别名称 input type=text name=txttitle size=20 value= action=GoodsType.asp?id=&Oper=edit sTitle = Request.QueryString(name) 类别名称 2添加商品类别

25、在执行goodstype.asp时,如果参数oper不等于update,页面的下方将显示添加数据的表单Aform主要代码如下: % 处理添加、修改和删除操作 Dim Soperate 读取参数oper,决定当前要进行的操作 Soperate = Request.QueryString(oper) Operid = Request.QueryString(id) 删除记录 If Soperate=delete Then sqldelt = Delete From GoodsType Where id In(&Cstr(Operid)&) Conn.Execute(sqldelt) Respons

26、e.Write 商品类别已经成功删除! 添加记录 ElseIf Soperate=add Then newTitle = Request(txttitle) 判断数据库中是否存在此类别 sql = SELECT * FROM GoodsType WHERE Type= & newTitle & Set rsInsert = Conn.execute(sql) 如果没有此类别名称,则创建新记录 If Not rsInsert.EOF Then Response.Write 已经存在此商品类别,添加失败! Else sql = Insert into GoodsType(type) values(&newTitle&) Conn.Execute(sql) Response.Write商品类别已经成功添加! End if 修改记录 ElseIf Soperate = edit Then newTitle = Request(txttitle) orgTitle = Request(sOrgTitle) 如果新类别名称和旧的不同则执行 If newTitleorgTitle Then 判断数据库中是否存在此类别 sql = Select * from GoodsType where

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号