西北民族大学电气工程学院学士论文
2.部门信息表
用户信息表(tbl_department)用来保存使用该系统的企业部门的基本信息,表tbl_departmen的结构如下:
部门信息表(tbl_department)
字段名称 id dname up_p_id remark state 数据类型 Varchar Varchar Varchar Varchar Varchar 长度 200 50 20 500 5 说明 部门id 部门名称 上级部门id 备注 状态 其他 允许空 允许空 3.权限表
权限表(tbl_limit)用来保存使用该系统的部门使用权限的基本信息,表tbl_limit结构如下:
权限表(tbl_limit)
字段名称 id l_name state remark 数据类型 Varchar Varchar Varchar Varchar 长度 200 50 5 500 说明 权限组id 权限组名 状态 备注 其他 允许空 4.职位表
职位表(tbl_position)用来保存使用该系统的部门员工的基本信息,表tbl_position结构如下:
职位表(tbl_position)
字段名称 id p_name up_p_id grade state remark 数据类型 Varchar Varchar Varchar Varchar Varchar Varchar 长度 200 50 50 500 5 500 说明 职位id 职位名称 上级职位id 等级 状态 备注 其他 允许空 允许空 允许空
21
西北民族大学电气工程学院学士论文
4.1.2 创建表
数据库技术是实现动态网页技术的必要手段,浏览者看到的内容实际上就是数据库中的数据。在进行页面显示时,浏览器将数据库内容进行了转换,数据库在此过程中起着一个中间媒介的作用。数据库设计的基本要求是保证数据的完整性和一致性。在该系统中用到的是SQLserver2005数据库, 建立了oaproject库文件,其中包含了4张表,即tbl_department、tbl_user、tbl_position、tbl_limit。
语句:
--创建部门表--
CREATE TABLE tbl_department( ) GO
insert into tbl_department(dname,up_d_id,state,remark) values('华为',1,'used','没事有上级部门')
insert into tbl_department(dname,up_d_id,state,remark) values('摩托',1,'used','上级部门')
insert into tbl_department(dname,up_d_id,state,remark) values('诺基亚',2,'used','上级部门')
insert into tbl_department(dname,up_d_id,state,remark) values('阿兰苏
',2,'used','上级部门')
id int IDENTITY(1,1) primary key NOT NULL, dname varchar(50) unique NOT NULL,
up_d_id int foreign key references tbl_department(id) NOT NULL, state varchar(10) NOT NULL DEFAULT ('used'), remark varchar(500) NULL,
表tbl_department(系统截图)
--创建用户表--
CREATE TABLE tbl_user(
id int IDENTITY(1,1) primary key NOT NULL, photo image NULL,
22
u_name varchar(20) NOT NULL,
西北民族大学电气工程学院学士论文
sex varchar(5) NOT NULL, birth datetime NOT NULL,
phone varchar(20) NULL, fax varchar(20) NULL,
tel varchar(20) NULL, adress varchar(50) NULL,
u_num varchar(30) UNIQUE NOT NULL,
pwd varchar(20) NOT NULL DEFAULT ('123456'), state varchar(10) NOT NULL DEFAULT ('used'), remark varchar(500) NULL email varchar(50) NULL, code varchar(10) NULL,
表tbl_user(系统截图)
语句:
--创建岗位定义表--
CREATE TABLE tbl_position(
id int IDENTITY(1,1) primary key NOT NULL, )
select *from tbl_position GO
INSERT INTO tbl_position(p_name,up_p_id,grade) VALUES('总经理',1,1) INSERT INTO tbl_position(p_name,up_p_id,grade) VALUES('副总经理',1,2)
INSERT INTO tbl_position(p_name,up_p_id,grade) VALUES('办公室主任',2,3)
SELECT * from tbl_position where id=(select up_p_id from tbl_position where p_name='办公室主任')
p_name varchar(50) NOT NULL, up_p_id int NOT NULL,
state varchar(10) NOT NULL DEFAULT ('used'), remark varchar(500) NULL
grade int NOT NULL foreign key references tbl_position(id),
表 tbl_position(系统截图)
--创建权限表--
CREATE TABLE tbl_limit(
id int IDENTITY(1,1) primary key NOT NULL, l_name varchar(20) unique NOT NULL,
state varchar(10) NOT NULL DEFAULT ('used'), remark varchar(500) NULL
23
西北民族大学电气工程学院学士论文
)
select * from tbl_limit
insert into tbl_limit(l_name , remark) values ('计算机组','没有组员')
insert into tbl_limit(l_name , remark) values ('调试组','没有组员')
表 tbl_limit(系统截图)
4.1.3 访问数据库表
首先,先定义一个数据库连接池参数的类,定义了数据库的 JDBC 驱动程序类名,连接的 URL 以及用户名口令等等一些信息,该类是用于初始化连接池的参数,具体定义如下:
public final class ConnectionDao {
private static final String DRIVER_CLASS = private static final String DATABASE_URL = private static final String USER_NAME = \; private static final String PASSWORD = \; \;
\;
其次是连接池的工厂类 Connection Factory,通过该类将一个连接池对象与一个名称对应起来,使用者通过该名称就可以获取指定的连接池对象,具体代码如下:
private ConnectionDao() { }
public static Connection getConnection() throws Exception {
try { }
24
Class.forName(DRIVER_CLASS);
Connection con = DriverManager.getConnection(DATABASE_URL,
USER_NAME, PASSWORD);
return con;
e.printStackTrace(); throw e;
} catch (Exception e) {
西北民族大学电气工程学院学士论文
}
ConnectionFactory 主要提供了用户将将连接池绑定到一个具体的名称上以及取消绑定的操作。使用者只需要关心这两个类即可使用数据库连接池的功能。下面我们给出一段如何使用连接池的代码:
public static void closeConnection(Connection con) { }
try { }
if (con != null && !con.isClosed()) { }
e.printStackTrace();
con.close();
} catch (Exception e) {
4.2 系统界面实现
4.2.1.用户登录
(1)用户登录窗口界面是用户看到的第一幅画面,也是进入系统之前必须经过的一道“关口”。因此,简洁、实用、友好是设计时应当考虑到的风格。登录本系统,用户将看到如下界面:
25