数据库课程设计小型图书管理系统Word文档下载推荐.docx
《数据库课程设计小型图书管理系统Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《数据库课程设计小型图书管理系统Word文档下载推荐.docx(63页珍藏版)》请在冰豆网上搜索。
前言
前言前言
前言
本系统是小型图书管理系统
本系统是小型图书管理系统本系统是小型图书管理系统
本系统是小型图书管理系统,
,,
,专为个人设计
专为个人设计专为个人设计
专为个人设计。
。
本系统启动后需要登陆
本系统启动后需要登陆本系统启动后需要登陆
本系统启动后需要登陆,
,,
,然后进入主界
然后进入主界然后进入主界
然后进入主界
在这个界面我们可以选择所需要的功能模块来完成所要执行的功能
在这个界面我们可以选择所需要的功能模块来完成所要执行的功能在这个界面我们可以选择所需要的功能模块来完成所要执行的功能
在这个界面我们可以选择所需要的功能模块来完成所要执行的功能。
。
系统共有
系统共有系统共有
系统共有4
44
4个
个个
个功能
功能功能
功能模块
模块模块
模块:
图书入库
图书入库图书入库
图书入库、
、、
、图书查询
图书查询图书查询
图书查询、
、、
、图书删除
图书删除图书删除
图书删除、
、、
、图书概览
图书概览图书概览
图书概览、
、修改密码
修改密码修改密码
修改密码。
支
支支
支
持一系列关于图书管理方面的简单操作
持一系列关于图书管理方面的简单操作持一系列关于图书管理方面的简单操作
持一系列关于图书管理方面的简单操作,
,
诸如查询
诸如查询诸如查询
诸如查询、
、删除
删除删除
删除、
、添加
添加添加
添加、
、修改
修改修改
修改密码等
密码等密码等
密码等。
系统流程图
系统流程图系统流程图
系统流程图
输入密码
判断
失败
成功
系统开始
判断
退出
图书查询图书入库图书删除图书概览修改密码
退出3
说明:
首先是输入判断,相当于在登陆模块,要求用户输入用户名和密码;
然后判断,如果判
断失败退出系统,否则进入图书管理系统的主界面。
进入主界面后,用户要选择所需执行的
功能,即通过鼠标点击相应项,来完成所需操作。
数据库设计
数据库设计数据库设计
数据库设计在图书管理系统中,共设计2张表。
本系统使用Access
AccessAccess
Access来创建数据表。
1.表book
字段名称数据类型
图书名文本
图书号文本(主键)
单价文本
作者文本
出版社文本
入库时间文本
2.表user
字段名称数据类型
用户名文本(主键)
密码文本
图书名
图书号
单价
作者
出版社
入库时间
表book表user
用户名
密码
数据库表4系统源码
系统源码系统源码
系统源码
程序代码
1
11
1登陆界面
登陆界面登陆界面
登陆界面:
:
:
程序名Login.java
Login.javaLogin.java
Login.java
importjava.awt.event.*;
importjavax.swing.*;
importjava.awt.*;
importjava.awt.Container;
importjava.util.*;
importjava.sql.*;
classLoginextendsJFrameimplementsActionListener
{Containercp=null;
JFramef=null;
JButtonj1,j2;
JTextFieldt1;
JPasswordFieldt2;
JLabeljlable1,jlable2;
Colorc;
JPaneljp1,jp2;
Login(){
f=newJFrame("
小型图书管理系统"
);
j1=newJButton("
确定"
);
j2=newJButton("
取消"
cp=f.getContentPane();
jlable1=newJLabel("
输入用户名"
jlable2=newJLabel("
用户密码"
jp1=newJPanel();
jp2=newJPanel();
t1=newJTextField(18);
t2=newJPasswordField(18);
jp1.add(jlable1);
jp1.add(t1);
jp1.add(jlable2);
jp1.add(t2);
JLabelJL=newJLabel("
<
html>
fontcolor=#CC00FFsize='
7'
>
i>
欢迎登陆5
/i>
/font>
"
SwingConstants.CENTER);
cp.add(JL,"
North"
jp2.add(j1);
jp2.add(j2);
cp.add(jp1,"
Center"
cp.add("
South"
,jp2);
jp1.setBackground(newColor(255,153,255));
Toolkitkit=Toolkit.getDefaultToolkit();
Dimensionscreen=kit.getScreenSize();
intx=screen.width;
/*取得显示器窗口的宽度*/
inty=screen.height;
/*取得显示器窗口的高度*/
//setSize(x,y);
/*让系统窗口平铺整个显示器窗口*/
f.setSize(300,300);
intxcenter=(x-300)/2;
intycenter=(y-300)/2;
f.setLocation(xcenter,ycenter);
/*显示在窗口中央*/
f.setVisible(true);
//-----------------------------------------------------
j1.addActionListener(this);
//注册事件监听器
j2.addActionListener(this);
f.addWindowListener(newWindowAdapter(){
publicvoidwindowClosing(WindowEvente){
System.exit(0);
}
}
);
}
publicvoidconfirm()//验证用户和密码是否存在
{
try{
Class.forName("
sun.jdbc.odbc.JdbcOdbcDriver"
}catch(ClassNotFoundExceptione){System.out.println("
加载驱动程序失
败!
"
}
try{
Stringurl="
jdbc:
odbc:
driver={MicrosoftAccessDriver
(*.mdb)};
DBQ=Book.mdb"
;
//直接使用当前类目录下的数据库文件
Connectioncon=DriverManager.getConnection(url);
Statementsql=con.createStatement();
Stringuname=t1.getText().trim();
6
StringMima=t2.getText().trim();
StringqueryMima="
select*fromuserwhere用户名='
+uname+"
'
and密
码='
+Mima+"
ResultSetrs=sql.executeQuery(queryMima);
if(rs.next())
{
newBook(uname);
f.hide();
con.close();
}else{
JOptionPane.showMessageDialog(null,"
该用户不存在"
"
提示!
,
JOptionPane.YES_NO_OPTION);
}
t1.setText("
t2.setText("
);
}catch(SQLExceptiong)
System.out.println("
ECode"
+g.getErrorCode());
System.out.println("
EM"
+g.getMessage());
}
}
publicvoidactionPerformed(ActionEvente)
{
Stringcmd=e.getActionCommand();
if(cmd.equals("
确定"
)){
confirm();
elseif(cmd.equals("
)){
f.dispose();
}
publicstaticvoidmain(String[]arg){
Logina=newLogin();
}
}
7
2
22
2图书概览
图书概览图书概览
图书概览:
程序名BookBrower.java
BookBrower.javaBookBrower.java
BookBrower.java
classBookBrowerimplementsActionListener
{
JFramef;
Containercp;
JPaneljpS,jpanelWest;
JButtonjbt1,jbt2;
//按钮,查询、取消、修改
JLabellabel,L;
//标签
//定义文本框
JTabletable;
//用来接收数据库中返回的信息
ObjectcolumnName[]={"
图书名"
"
图书号"
单价"
作者"
出版社"
入库时间"
};
Objectar[][]=newObject[80][6];
Stringsno;
Stringcount="
xx"
BookBrower()
{
f=newJFrame();
//初始化面板、按钮、标签、文本框
jpS=newJPanel();
jpanelWest=newJPanel();
//------------------------------------------------
jbt1=newJButton("
确定"
jbt2=newJButton("
返回"
label=newJLabel("
html>
<
fontcolor=#CC00FFsize='
4'
>
图书概览
/font>
SwingConstants.CENTER);
label.setForeground(Color.blue);
L=newJLabel("
书库现在共有图书"
+count+"
本"
//------------------------------------------------
table=newJTable(ar,columnName);
//ar存放表中的数据,columnname表示列名
JScrollPanescrollpane=newJScrollPane(table);
8
//------------------------------------------------
//布局,添加控件
jpS.add(jbt1);
jpS.add(jbt2);
JPaneljpanel=newJPanel();
jpanel.add(label);
JPanelpp4=newJPanel();
JPaneljpE=newJPanel();
cp.add(jpanel,"
North"
JPaneljp=newJPanel();
//jp.add(scrollpane);
JPanelp=newJPanel();
//用来放两个表
p.setLayout(newBorderLayout());
p.add(L,"
North"
p.add(scrollpane);
cp.add(pp4,"
West"
cp.add(p,"
Center"
cp.add(jpS,"
cp.add(jpE,"
East"
//------------------------------------------------
Toolkitkit=Toolkit.getDefaultToolkit();
intx=screen.width;
/*取得显示器窗口的宽度*/
inty=screen.height;
/*取得显示器窗口的高度*/
f.setSize(400,330);
intxcenter=(x-350)/2;
intycenter=(y-330)/2;
f.setVisible(true);
//-------------------------------------------------9
jbt1.addActionListener(this);
//注册监听器
jbt2.addActionListener(this);
/*f.addWindowListener(newWindowAdapter(){
publicvoidwindowClosing(WindowEvente){
System.exit(0);
);
*/
//------------------------------------------------
inti=0;
publicvoidshowRecord()
while(i>
=0)
ar[i][0]="
ar[i][1]="
ar[i][2]="
ar[i][3]="
ar[i][4]="
;
ar[i][5]="
i--;
i=0;
try{
Class.forName("
sun.jdbc.odbc.JdbcOdbcDriver"
}catch(ClassNotFoundExceptione){System.out.println("
加载驱动程序失
败!
}
try{
Stringurl="
jdbc:
odbc:
driver={MicrosoftAccessDriver
(*.mdb)};
DBQ=Book.mdb"
//直接使用当前类目录下的数据库文件
Connectioncon=DriverManager.getConnection(url);
Strings="
select*frombook"
Statementsql=con.createStatement();
ResultSetrs=sql.executeQuery(s);
while(rs.next())
{
Stringbname=rs.getString
(1);
10
Stringbno=rs.getString
(2);
Stringprice=rs.getString(3);
Stringwriter=rs.getString(