支持标准的ANSI SQL语句,支持多种平台,在Unix系统上该软件支持多线程运行方式,从而能获得相当好的性能。
大访问量查询加上修改时很容易阻塞,不支持事务处理使MySQL无法胜任关键的企业业务,不支持外键约束等等,使得数据的完整性只能靠开发人员自己保证.然而MySQL结构简单,又不包含一些复杂的高级的数据库功能,因此查询极快.这也是本系统选择MySQL的主要原因。 4.2.3数据库表的描述
图书表book的定义如表4-1所示:
表4-1 图书表book的定义
字段 类型 id int(11) 书名 varchar(40) 作者 int(11) 图书类别 varchar(25) 出版社 int(11) 图书价格 varchar(100) Book数据表的图片如下: Key PRI Foreign Key bookClass publisher Null 否 否 否 是 是 是 默认 0 NULL NULL NULL 字段含义 主键,递增 书名 作者 图书类别 出版社 图片价格
管理员表admin的定义如表4-3所示:
表4-3 管理员表admin的定义 字段 类型 Key Null 默认 字段含义 15
第 15 页 共 27 页
Id varchar(50) PRI User varchar(50) password varchar(50) 管理员admin的数据表的图 如下:
是 是 是 NULL NULL NULL 管理编号 用户名 密码
第五章 网上书店系统后台模块的设计
这个网上书店系统的后台模块可以对系统的注册会员进行管理,以及对订单进行管理回复,同时对主页公告、美文、新闻、图书展示进行及时更新。这个后台管理模块的基本流程图如下:
第 16 页 共 27 页 16
图4-1 系统模块流程图
5.1数据库连接
网上书店采用Microsoft Access 2002作为后台的数据库。我们建立了一个名为 Shop的数据库用于存放数据,
数据库的连接(conn.asp):
<% request.setCharacterEncoding(\ String txtuser,txtpswd,dbpswd; boolean flag=false; txtuser=request.getParameter(\获取用户填写的账号 txtpswd=request.getParameter(\获取用户填写的密码 dm.setDbdriver(\ dm.setSourcename(\ Statement stmt=dm.getCon().createStatement %> 数据表设计
各表的名称和功能如表1所示。
第 17 页 共 27 页
17
表1 BookShop数据库中的表及其功能说明 字段 类型 Key Foreign Key Null id int(11) PRI 否 书名 varchar(40) 否 作者 int(11) bookClass 否 图书类别 varchar(25) 是 出版社 int(11) publisher 是 图书价格 varchar(100) 是 下面将详细介绍各表的数据结构。
5.2图书入库管理模块
默认 0 NULL NULL NULL 字段含义 主键,递增 书名 作者 图书类别 出版社 图片价格 这个功能是让管理员及时添加图书的品种,以满足市场需求。其主要代码如下:
<% try{
Statement
ResultSet rs=stmt.executeQuery(\ //计算记录的个数 rs.last();
int len=rs.getRow()+1; //------------------ rs.beforeFirst(); rs.moveToInsertRow(); rs.updateInt(\
rs.updateString(\书名\ rs.updateString(\作者\ rs.updateString(\图书类别\ rs.updateString(\出版社\ rs.updateString(\价格\ rs.updateString(\图书简介\rs.insertRow(); rs.beforeFirst(); }
catch(Exception e) {
e.printStackTrace(); }
stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
第 18 页 共 27 页 18
第 19 页 共 27 页
19