2.数据表基本结构
(1)图书信息表
图书信息表(bookinfo)是用来保存网上书店每一种图书基本信息的数据表,是维护管理图书数据的依据。
表4-1书图书信息表
字段名 Id 描 述 书本id booktype 图书种类 pubs 出版社 bookname 图书名称 price 图书价格 description 图书介绍 bookauthor 图书作者 类 型 Int 长 度 4 是否允许为空 否 否 否 否 否 是 是 是否主键 是 否 否 否 否 否 否 varchar varchar varchar double varchar varchar 50 50 100 15 255 50 (2)图书评论基本信息表
图书分类基本信息表(bookcomment)记录了与网上书店图书分类相关信息。
表4-2图书分类基本信息表
字段名 bookId 描 述 类 型 int 长 度 4 是否允许为空 是否为主键 否 是 否 否 否 否 书本id CommentTitle 评论标题 commentContent 评论内容 varchar varchar 40 40 (3)客户基本信息表
客户基本信息表(account)存放了网上书店对应的客户信息,包括客户的姓名、联系方式等信息。
表4-3客户基本信息表
字段名 描述 accountId 用户名 accountpwd 密码 balance 余额 truename 真实姓名 sex 客户性别 author 权限(区分管理员和客户) 类型 长度 是否允许为空 否 否 否 否 否 否 是否主键 是 否 否 否 否 否 varchar varchar varchar varchar varchar boolean 20 20 20 20 50 2 14
email Telephone 客户邮箱 客户联系方式 varchar Varchar 50 50 否 否 否 否 (4)订单信息表
表4-4订单信息表
字段名 描述 订单编号 订单用户名 书本数量 产生订单时间 确认是否发货 总价 类型 长度 是否允许为空 否 否 否 否 否 否 是否主键 是 否 否 否 否 否 orderid ordername bookNum ordertime Isconfirm Price integer varchar Int datetime Boolean Int 11 20 4 19 2 4 3.创建数据表脚本
在基本的数据表的结构确定后,就可以在mysql中完成数据表的创建工作,下面给出建立对应数据表的SQL脚本。 (1)图书基本信息表:
CREATE TABLE `bookinfo` (
`id` int(4) NOT NULL auto_increment, `booktype` varchar(50) NOT NULL,
`bookname` varchar(50) NOT NULL default '', `price` double(15,3) NOT NULL default '0.000', `description` varchar(255) NOT NULL default '', `pubss` varchar(50) default NULL, PRIMARY KEY (`id`) )
(2)图书评论基本信息表:
CREATE TABLE `bookcomment` ( `id` int(4) NOT NULL default '0',
`commentTitle` varchar(50) default NULL,
`commentContent` varchar(50) default NULL, PRIMARY KEY (`id`) )
15
(3)客户基本信息表:
CREATE TABLE `storeuser` (
`AccountId` varchar(20) NOT NULL default '', `AccountPwd` varchar(20) NOT NULL default '', `truename` varchar(20) NOT NULL default '', `telephone` varchar(20) NOT NULL default '', `sex` varchar(100) NOT NULL default '', `email` varchar(50) default NULL, `balance` varchar(20) default NULL, `author` boolean(2) default 0,
PRIMARY KEY (`AccountId `) )
(4)订单信息表:
CREATE TABLE `orders` (
`orderid` int(11) NOT NULL auto_increment, `ordername` varchar(20) NOT NULL default '',
`ordertime` datetime NOT NULL default '0000-00-00 00:00:00', `isConfirm` boolean(2) NOT NULL default '', `price` varchar(20) NOT NULL default '', PRIMARY KEY (`orderid`) )
16
系统实现过程
开发平台
服务器:IIS;
数据库: Sql Server 2000; 平台:Microsoft Visual Studio 2005 操作系统:windows XP
一、系统各组件实现 用户表示层
在用户表示层中主要是一些相关的页面。该层对应的页面应该放在WEB应用目录根目录下。 1.网上书店首页:
本页面分为上下2个部分。
上面的部分是个万年历,从万年历上可以查询各种各样的时间,节日,农历,节气等信息,此晚年里是从网上找到的一段脚本script脚本代码,美观大方,非常使用。
下面的部分是登陆和注册页面,主要实现登陆和注册功能。
登陆有2种情况,一个是管理员登陆,另一个是客户登陆,管理员登陆后的页面是一些后台的操作,而客户登陆后的页面是图书列表及收藏夹和购物车还有1些评论。
注册有各种信息的输入,在用户名一栏中,比如数据库中已经存在了一个用户名,如果一位客户申请的时候写了一个一模一样的用户名,则在点击旁边的“检查用户名是否存在”的按钮后会出现“此用户名已经存在”,提示重新输入一个其他的用户名。 (1)注册的主要的代码如下
17
protected void btnAdd_Click(object sender, EventArgs e) {
Accountmod.AccountId = tbusername.Text.Trim(); Accountmod.AccountPwd = tbpwd.Text.Trim(); Accountmod.Auth = \\
Accountmod.Email = tbEmail.Text.Trim(); Accountmod.Logintimes = 0; Accountmod.LogIp
Request.ServerVariables[\
Accountmod.Telephone = tbphone.Text.Trim(); Accountmod.TrueName = tbTruename.Text.Trim(); Accountmod.Sex = RadioButtonList1.SelectedValue; Accountmod.Balance = 0; lbshow.Text = \用户注册成功!\ Accountbll.Add(Accountmod); Panel1.Visible = false; }
protected void btnCheck_Click(object sender, EventArgs e) {
DataSet
ds
=
Accountbll.GetList(\
tbusername.Text.Trim() + \
if (ds.Tables[0].Rows.Count == 0) {
lbshow.Text = \该账户可以使用\ btnAdd.Enabled = true; } else {
lbshow.Text = \该账户已被占用!\ btnAdd.Enabled = false;
18
=
+