电子商务网站制作说明书_第1页
电子商务网站制作说明书_第2页
电子商务网站制作说明书_第3页
电子商务网站制作说明书_第4页
电子商务网站制作说明书_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

2、有关知识。3. 能够编写满足某种要求的功能。三、实验内容1. 系统设计2. 数据库设计3. 公共类设计4. 系统主界面与登录程序设计5. 商品类别管理模块设计四实验步骤1 系统设计1.1、系统目标对于典型的数据库管理系统,尤其是电子商务平台这样的数据流比较大的网络管理系统,必须要满足使用方便、操作灵活等设计需求。本系统满足以下几个目标: 1. 界面设计美观有好,操作简便。2. 全面、分类战士商城内所有商品。3. 显示商品的详细信息,方便顾客了解商品信息。4. 查看商城内的交易信息。5. 设置灵活的打印功能。6. 系统对用户输入的数据,进行严格的数据检验,尽可能的排除人为错误。7. 提供新品上市

3、公告,方便顾客及时了解相关信息。8. 提供网上留言功能。9. 系统最大限度的实现以维护性和易操作性。10. 系统运行稳定、安全可靠。1.2、系流程统图电子商务平台系统流程图:电子商务网站在线支付进行商品信息管理、订单管理、用户管理、系统管理等网站访问者网站管理员查看订单更改商品数量购物车浏览网站其他模块选择商品注册购买登录登录否是是是否是否否否是1.3、系统功能结构 电子商务平台前台管理系统功能设计:电子商务平台前台管理系统商品分类购物流程用户流程特价商品热门商品我的留言本站留言1.4、构建开发环境网站开发环境网站开发环境:Microsoft Visual Studio 2008集成

4、开发环境。网站开发语言:ASP.NET+C#。网站后台数据库:Oracle 10g开发环境运行平台:Windows7。2 数据库设计2.1 数据库概要说明所使用数据库为Oracle 10g 数据库。2.2 数据库概念设计通过对网站需求分析、网站流程设计以及功能结构的确定,规划出系统中使用的数据库实体对象分别是商品类型实体、商品信息实体、商品订单实体、商品订单明细实体和管理员实体。商品类型实体:商品类型类型图片类型名称类型编号商品信息实体:商品信息商品名称是否打折商品编号商品简介商品市场价商品热销价商品图片进货如期商品订单实体:商品订单商品订单编号商品费用订单总费用接收人姓名是否打折是否发货商品

5、运输方式商品市场价商品订单明细实体:商品订单明细商品总金额订单详细表号备注商品对应订单号商品代号商品数量管理员实体:管理员管理员真实姓名管理员密码管理员登录名管理员编号创建时间E-mail地址2.3 数据库逻辑结构设计公共信息表:商品类别表:商品信息表:购物车表:用户信息表:管理员表3公共类的设计1 CommonClass类:using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;rols;using Syst

6、em.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Data.SqlClient;/ <summary>/ CommonClass 的摘要说明/ </summary>public class CommonClasspublic CommonClass()/ TODO: 在此处添加构造函数逻辑/ / <summary> / 说明:MessageBox用来在客户端弹出对话框,关闭对话框返回指定页。 / 参数:TxtMessage 对话框中显示的内容。 / Url

7、 对话框关闭后,跳转的页 / </summary> public string MessageBox(string TxtMessage,string Url) string str; str = "<script language=javascript>alert('" + TxtMessage + "');location='" + Url + "'</script>" return str; / <summary> / 说明:MessageBox用来

8、在客户端弹出对话框。 / 参数:TxtMessage 对话框中显示的内容。 / </summary> public string MessageBox(string TxtMessage) string str; str = "<script language=javascript>alert('" + TxtMessage + "')</script>" return str; / <summary> / 说明:MessageBoxPag用来在客户端弹出对话框,关闭对话框返回原页。 / 参

9、数:TxtMessage 对话框中显示的内容。 / </summary> public string MessageBoxPage(string TxtMessage) string str; str = "<script language=javascript>alert('" + TxtMessage + "');location='javascript:history.go(-1)'</script>" return str; / <summary> / 实现随机验证码

10、 / </summary> / <param name="n">显示验证码的个数</param> / <returns>返回生成的随机数</returns> public string RandomNum(int n) / /定义一个包括数字、大写英文字母和小写英文字母的字符串 string strchar = "0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,a,b,c,d,e,f,g,h,i,j,k,l,m

11、,n,o,p,q,r,s,t,u,v,w,x,y,z" /将strchar字符串转化为数组 /String.Split 方法返回包含此实例中的子字符串(由指定Char数组的元素分隔)的 String 数组。 string VcArray = strchar.Split(','); string VNum = "" /记录上次随机数值,尽量避免产生几个一样的随机数 int temp = -1; /采用一个简单的算法以保证生成随机数的不同 Random rand = new Random(); for (int i = 1; i < n + 1;

12、 i+) if (temp != -1) /unchecked 关键字用于取消整型算术运算和转换的溢出检查。 /DateTime.Ticks 属性获取表示此实例的日期和时间的刻度数。 rand = new Random(i * temp * unchecked(int)DateTime.Now.Ticks); /Random.Next 方法返回一个小于所指定最大值的非负随机数。 int t = rand.Next(61); if (temp != -1 && temp = t) return RandomNum(n); temp = t; VNum += VcArrayt; r

13、eturn VNum;/返回生成的随机数 / <summary> / 用来截取小数点后nleng位 / </summary> / <param name="sString">sString原字符串。</param> / <param name="nLeng">nLeng长度。</param> / <returns>处理后的字符串。</returns> public string VarStr(string sString, int nLeng) int ind

14、ex = sString.IndexOf("."); if (index = -1 | index + nLeng >= sString.Length) return sString; else return sString.Substring(0, (index + nLeng + 1); 2DBClass类;using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using Sys

15、tem.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Data.SqlClient;/ <summary>/ DBClass 的摘要说明/ </summary>public class DBClasspublic DBClass()/ TODO: 在此处添加构造函数逻辑/ / <summary> / 连接数据库 / </summary> / <returns>返回SqlC

16、onnection对象</returns> public SqlConnection GetConnection() string myStr = ConfigurationManager.AppSettings"ConnectionString".ToString(); SqlConnection myConn = new SqlConnection(myStr); return myConn; / <summary> / 执行SQL语句,并返回受影响的行数 / </summary> / <param name="myC

17、md">执行SQL语句命令的SqlCommand对象</param> public void ExecNonQuery(SqlCommand myCmd) try if (myCmd.Connection.State != ConnectionState.Open) myCmd.Connection.Open(); /打开与数据库的连接 /使用SqlCommand对象的ExecuteNonQuery方法执行SQL语句,并返回受影响的行数 myCmd.ExecuteNonQuery(); catch (Exception ex) throw new Exception

18、(ex.Message, ex); finally if (myCmd.Connection.State = ConnectionState.Open) myCmd.Connection.Close(); /关闭与数据库的连接 / <summary> / 执行查询,并返回查询所返回的结果集中第一行的第一列。所有其他的列和行将被忽略。 / </summary> / <param name="myCmd"></param> / <returns>执行SQL语句命令的SqlCommand对象</returns>

19、; public string ExecScalar(SqlCommand myCmd) string strSql; try if (myCmd.Connection.State != ConnectionState.Open) myCmd.Connection.Open(); /打开与数据库的连接 /使用SqlCommand对象的ExecuteScalar方法执行查询,并返回查询所返回的结果集中第一行的第一列。所有其他的列和行将被忽略。 strSql=Convert.ToString(myCmd.ExecuteScalar(); return strSql ; catch (Excepti

20、on ex) throw new Exception(ex.Message, ex); finally if (myCmd.Connection.State = ConnectionState.Open) myCmd.Connection.Close();/关闭与数据库的连接 / <summary> / 说 明: 返回数据集的表的集合 /返回值: 数据源的数据表 /参 数: myCmd 执行SQL语句命令的SqlCommand对象,TableName 数据表名称 / </summary> public DataTable GetDataSet(SqlCommand my

21、Cmd, string TableName) SqlDataAdapter adapt; DataSet ds = new DataSet(); try if (myCmd.Connection.State != ConnectionState.Open) myCmd.Connection.Open(); adapt = new SqlDataAdapter(myCmd); adapt.Fill(ds,TableName); return ds.TablesTableName; catch (Exception ex) throw new Exception(ex.Message, ex);

22、finally if (myCmd.Connection.State = ConnectionState.Open) myCmd.Connection.Close(); / <summary> / 执行存储过程语句,返回sqlCommand类对象 / </summary> / <param name="strProcName">存储过程名</param> / <returns>返回sqlCommand类对象</returns> public SqlCommand GetCommandProc(strin

23、g strProcName) SqlConnection myConn = GetConnection(); SqlCommand myCmd = new SqlCommand(); myCmd.Connection = myConn; myCmd.CommandText = strProcName; myCmd.CommandType = CommandType.StoredProcedure; return myCmd; / <summary> / 执行查询语句,返回sqlCommand类对象 / </summary> / <param name="

24、strSql">查询语句</param> / <returns>返回sqlCommand类对象</returns> public SqlCommand GetCommandStr(string strSql) SqlConnection myConn = GetConnection(); SqlCommand myCmd = new SqlCommand(); myCmd.Connection = myConn; myCmd.CommandText = strSql; myCmd.CommandType = CommandType.Text;

25、 return myCmd; / <summary> / 说 明: 执行SQL语句,返回数据源的数据表 /返回值: 数据源的数据表DataTable /参 数: sqlStr执行的SQL语句,TableName 数据表名称 / </summary> public DataTable GetDataSetStr(string sqlStr, string TableName) SqlConnection myConn = GetConnection(); myConn.Open(); DataSet ds = new DataSet(); SqlDataAdapter a

26、dapt = new SqlDataAdapter(sqlStr, myConn); adapt.Fill(ds, TableName); myConn.Close(); return ds.TablesTableName; 3GoodsClass类:using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.W

27、ebControls.WebParts;using System.Web.UI.HtmlControls;using System.Data.SqlClient;using System.Collections;/ <summary>/ GoodsClass 的摘要说明/ </summary>public class GoodsClass DBClass dbObj = new DBClass();public GoodsClass()/ TODO: 在此处添加构造函数逻辑/ / <summary> / 对DataList控件进行绑定 / </summ

28、ary> / <param name="dlName">DataList控件名</param> / <param name="dsTable">数据集DataSet的表的集合</param> public void dlBind(DataList dlName,DataTable dsTable) if (dsTable != null) dlName.DataSource = dsTable.DefaultView; dlName.DataKeyField = dsTable.Columns0.To

29、String(); dlName.DataBind(); / <summary> / 商品类别菜单栏 / </summary> / <param name="dlName">绑定商品类别名的DataList控件</param> public void DLClassBind(DataList dlName) string sqlStr = "select Top 10 * from tb_Class" DataTable dsTable = dbObj.GetDataSetStr(sqlStr, "

30、;tbClass"); dlBind(dlName, dsTable); / <summary> / 在首页面中,绑定商品信息 / </summary> / <param name="IntDeplay">商品分类标志</param> / <param name="dlName">绑定商品的DataList控件</param> / <param name="TableName">数据集标志</param> public void

31、DLDeplayGI(int IntDeplay, DataList dlName, string TableName) SqlCommand myCmd = dbObj.GetCommandProc("proc_DeplayGI"); /添加参数 SqlParameter Deplay = new SqlParameter("Deplay", SqlDbType.Int, 4); Deplay.Value = IntDeplay; myCmd.Parameters.Add(Deplay); dbObj.ExecNonQuery(myCmd); Data

32、Table dsTable = dbObj.GetDataSet(myCmd, TableName); dlBind(dlName, dsTable); / <summary> / 最新商品菜单栏 / </summary> / <param name="dlName">绑定最新商品的DataList控件</param> public void DLNewGoods(DataList dlName) SqlCommand myCmd = dbObj.GetCommandProc("proc_NewGoods"

33、); dbObj.ExecNonQuery(myCmd); DataTable dsTable = dbObj.GetDataSet(myCmd, "tbGoods"); dlBind(dlName, dsTable); / <summary> / 获取商品类别名 / </summary> / <param name="IntClassID">商品类别号</param> / <returns>返回商品类别名</returns> public string GetClass(int I

34、ntClassID) SqlCommand myCmd = dbObj.GetCommandProc("proc_GCN"); /添加参数 SqlParameter classID = new SqlParameter("ClassID", SqlDbType.Int, 4); classID.Value = IntClassID; myCmd.Parameters.Add(classID); return dbObj.ExecScalar(myCmd).ToString(); / <summary> / 对商品信息进行模糊查询 / <

35、/summary> / <param name="strKeyWord">关键信息</param> / <returns>返回查询结果数据表DataTable</returns> public DataTable search(string strKeyWord) SqlCommand myCmd = dbObj.GetCommandProc("proc_SearchGI"); SqlParameter key = new SqlParameter("keywords", SqlD

36、bType.VarChar, 50);/添加参数 key.Value = strKeyWord; myCmd.Parameters.Add(key); /执行操作 dbObj.ExecNonQuery(myCmd); DataTable dsTable = dbObj.GetDataSet(myCmd, "tbBI"); return dsTable; 4 网站首页设计与登录程序设计ggggggg<% Page Language="C#" AutoEventWireup="true" CodeFile="wangyal

37、i.aspx.cs" Inherits="wangyali" %><!DOCTYPE html PUBLIC "-/W3C/DTD XHTML 1.0 Transitional/EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml" ><head><meta http-equiv="Content-T

38、ype" content="text/html; charset=gb2312" /><title>丽丽购物系统</title><link href="css/css_page.css" rel="stylesheet" type="text/css" /><style type="text/css"><!-body background-color: #D5E4EE;.style1 color: #FFFFFF->&l

39、t;/style><script src="js/login.js" type="text/javascript">function IMG1_onclick() </script></head><body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" onload="IsIE()"> <form name="

40、form1" method="post" action="wangyali.aspx" id="form1" runat =server><div></div><div></div> <table width="1030" border="0" align="center" cellpadding="0" cellspacing="0"> <tr>

41、<td colspan="2"><table width="100%" height="117" border="0" cellpadding="0" cellspacing="0" background="images/topbg.gif"> </table></td> </tr> <tr bgcolor="#E6E6E6" class="text09&quo

42、t;> <td height="30" style="width: 1050px"> &nbsp; <asp:Image ID="Image1" runat="server" ImageUrl="/image/图标.jpg" Style="position: static" DescriptionUrl="/image/未命名-2_场景1.swf" Height="146px" Width="1

43、020px" /><br /> <a href="image/未命名-1.swf"></a> 欢迎您访问丽丽购物系统 今天是年月日星期三</td> <td height="30">&nbsp;</td> </tr> <tr bgcolor="#B6C79B" class="text09"> <td height="2" colspan="2">&

44、lt;img src="images/transparence.gif" width="2" height="1"></td> </tr></table><table width="1035" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF"> <tr va

45、lign="top"> <td height="13" style="width: 257px">&nbsp;<div style="text-align: center"> <table style="width: 230px; position: static; height: 82px"> <tr> <td colspan="2" style="height: 7px"> &l

46、t;asp:Label ID="Label1" runat="server" Style="position: static" Text="请登录"></asp:Label></td> </tr> <tr> <td style="width: 92px"> <asp:Label ID="Label2" runat="server" Style="position: stati

47、c" Text="用户名" Width="64px"></asp:Label></td> <td style="width: 100px"> <asp:TextBox ID="TextBox1" runat="server" Style="position: static" ></asp:TextBox></td> </tr> <tr> <td style=&

48、quot;width: 92px; height: 25px"> <asp:Label ID="Label3" runat="server" Style="position: static" Text="密码" Width="46px"></asp:Label></td> <td style="width: 100px; height: 25px"> <asp:TextBox ID="TextBo

49、x2" runat="server" Style="position: static" ReadOnly="false" TextMode="Password"></asp:TextBox></td> </tr> <tr> <td style="width: 92px"> <asp:Button ID="Button1" runat="server" OnClick=&quo

50、t;Button1_Click" Style="position: static" Text="确定" /></td> <td style="width: 100px"> <asp:Button ID="Button2" runat="server" OnClick="Button2_Click" Style="position: static" Text="取消" /></td

51、> </tr> </table> </div> <div style="text-align: left"> <div style="text-align: center"> <div style="text-align: center"> <table style="width: 208px; position: static"> <tr> <td style="width: 100px; hei

52、ght: 20px"> <asp:LinkButton ID="LinkButton1" runat="server" OnClick="LinkButton1_Click" Style="position: static" PostBackUrl="/xiaogang.aspx">新用户请注册</asp:LinkButton></td> </tr> </table> </div> </div>

53、</div> <div style="text-align: center"> &nbsp;</div> </td> <td rowspan="3" style="width: 782px"><table width="98%" border="0" cellspacing="0" cellpadding="0"> <tr> <td style="h

54、eight: 2px"><img src="images/transparence.gif" width="2" height="1"></td> </tr> </table> <table width="100%" height="256" border="0" cellpadding="0" cellspacing="0"> <tr valign=&q

55、uot;top"> <td width="52%" style="height: 402px"><div align="center"> <table style="width: 402px; height: 394px"> <tr> <td style="width: 100px"> Width="188px" /> </td> <td style="width: 100px"> Width="184px" /></td> </tr> <tr> <td style="width: 100px">

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论