陕西理工学院毕业设计
性别邮箱密码电话地址会员信息1会员名m查询n车次订单号售订总价m车次信息票价车次订售信息票价坐位类型开出时刻目的地到站时刻订购票数会员名发车时刻订购日期 图4.1系统总E-R图
4.3 数据库逻辑结构设计
火车站网上售票系统数据库中各个表格的设计结果如下表。每个表格表示在数据库中的一个表。
表4-1车次信息表
字段名
train num stime etime sitetype addtime Price
数据类型 char(10) nvarchar(50) nvarchar(50) nvarchar(50) nvarchar(50) nvarchar(50) nvarchar(50) 是否可空 NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL 说明
出发地目的地(主键)
车号
开车时刻(主键)
到站时刻 票类型 添加时间 票价
表4-2订售表OrderInfo
字段名 train num stime addtime member etime price numb pay 数据类型 Char(10) Char(18) char(10) char(10) char(10) datetime datetime Int Money
是否可空 NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL
说明
出发地目的地(主键)
车号(外键) 开车时刻(外键)
订购日期 会员 到站时刻 价格 订购票数 总价
第 17 页 共 49页
陕西理工学院毕业设计
4-3会员表member
字段名 realname email password bir Sex city
telphone 数据类型 int
nvarchar(50) nvarchar(50) nvarchar(50) Char(2) varchar(12) nvarchar(50) 是否可空 NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL 说明 真实姓名 邮箱 密码 注册时间 性别 住址 电话
4-4管理员表admin
字段名 username creatime password logintimes quanxian 数据类型 nvarchar(50) nvarchar(50) nvarchar(50) varchar(12) nvarchar(50) 是否可空 NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL 说明 用户名 创建时间 密码 登陆时间 电话
第 18 页 共 49页
陕西理工学院毕业设计
5 系统详细设计
5.1 数据库关键应用
JDBC是Java数据库连接(Java Data Base Connectivity)技术的简称,是为各种常用的数据库提供无缝连接的技术。JDBC定义了Java语言同各种SQL数据之间的应用程序设计接口(API),提高了软件的通用性。
JDBC的关键技术是数据库连接驱动程序,针对这点大量的数据库厂商和第三方开发商支持Java的JDBC的标准,并开发了不同的数据库JDBC驱动程序。这些驱动程序可以分成四种:JDBC-ODBC Bridge驱动程序、JDBC Native Bridge驱动程序、JDBC-Network Bridge驱动程序、Pure Java JDBC Driver。
其中,我采用JDBC-ODBC Bridge驱动程序来连接数据库,步骤如下: 1、将SQL Server 2000改为“SQL Server和Windows”方式登录; 2、建立访问系统cpdy数据库用户; 3、编写JSP程序连接数据库代码: package com.util; import java.sql.*;
import java.sql.DriverManager; import java.sql.ResultSet;
import java.sql.SQLException;
import javax.activation.DataSource; import java.sql.*;
import java.sql.DriverManager; import java.sql.ResultSet;
import java.sql.SQLException; import java.sql.Statement; import javax.naming.Context;
import javax.naming.InitialContext; public class DBO { private Connection conn; private Statement stmt; private DataSource ds; public DBO() { } /** 打开数据库 */ public void open() { try { Class.forName(\ conn = DriverManager.getConnection(\; stmt=conn.createStatement();
第 19 页 共 49页
陕西理工学院毕业设计
}
System.out.println(\打开数据库连接\}
catch (Exception ex) {
System.err.println(\打开数据库时出错: \}
/** 关闭数据库,将连接返还给连接池 */
public void close() { try { // connMgr.freeConnection(\ conn.close(); System.out.println (\释放连接\ } catch (SQLException ex) { System.err.println(\返还连接池出错: \ } }
/** 执行查询 */
public ResultSet executeQuery(String sql) throws SQLException { ResultSet rs = null; }
rs = stmt.executeQuery(sql);
System.out.println (\执行查询\return rs;
/** 执行增删改 */
public int executeUpdate(String sql) throws SQLException { int ret = 0;
第 20 页 共 49页
陕西理工学院毕业设计
// // //
}
ret = stmt.executeUpdate(sql); System.out.println (\执行增删改\return ret;
/** 将SQL语句加入到批处理 */
public void addBatch(String sql) throws SQLException { stmt.addBatch(sql); }
/** 执行批处理 */
public int [] executeBatch() throws SQLException { boolean isAuto=conn.getAutoCommit(); conn.setAutoCommit(false); int [] updateCounts = stmt.executeBatch(); conn.commit(); conn.setAutoCommit(isAuto); //conn.setAutoCommit(true); return updateCounts; }
public boolean getAutoCommit() throws SQLException { return conn.getAutoCommit(); }
public void setAutoCommit(boolean auto) throws SQLException { conn.setAutoCommit(auto); }
public void commit() throws SQLException { conn.commit(); this.close(); }
public void rollBack() throws SQLException {
第 21 页 共 49页
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库在线售票系统设计说明书(5)在线全文阅读。
相关推荐: