华北科技学院数据库课设-

发布时间:   来源:文档文库   
字号:



《数据库原理与应用》
课程设计说明书


学号: 班级: 计科 姓名:
设计题目: 图书管理系统 设计地点:_________大软________ ____ 设计时间: 2015.12.28 2016.01.08
成绩评定:
1、工作量: A ),B ),C ),D ,F( 2、难易度: A ),B ),C ),D ,F( 3、答辩情况:
基本操作: A ),B ),C ),D ,F( 代码理解: A ),B ),C ),D ,F( 4、报告规范度: A ),B ),C ),D ,F( 5、学习态度: A ),B ),C ),D ,F( 总评成绩:___________________________ 指导教师:___________崔新伟__________




1 .................................................................................................................................... 0
1.1课程设计选题 .............................................................................................................. 0 1.2课程设计的目的 .......................................................................................................... 0 1.3本选题的设计背景 ...................................................................................................... 0 2 系统分析与设计 ................................................................................................................... 0
2.1 系统的需求分析 ........................................................................................................ 0
2.1.1 功能需求 .......................................................................................................... 0 2.1.2 性能需求 .......................................................................................................... 1 2.2 系统的开发运行环境 ................................................................................................ 1 2.3 系统总体设计 ............................................................................................................ 1 3 数据库设计 ........................................................................................................................... 2
3.1 数据库概念结构 ........................................................................................................ 2 3.2 数据库逻辑结构 ........................................................................................................ 3
3.2.1 关系模型 .......................................................................................................... 3 3.2.3 视图的设计 ...................................................................................................... 4 3.3 数据库的实现 ............................................................................................................ 4
3.3.1 ........................................................................................................................ 4 3.3.2 视图 .................................................................................................................. 6 3.3.3 安全性设计 ...................................................................................................... 6 3.3.4 完整性设计 ...................................................................................................... 7 3.3.5 索引设计 .......................................................................................................... 8 3.3.5 触发器 .............................................................................................................. 9 3.3.6 存储过程 .......................................................................................................... 9
4 主要功能的详细设计与实现 ............................................................................................ 10 4.1 登录模块................................................................................................................... 10 4.2 读者信息模块 .......................................................................................................... 10 4.3 管理员模块 .............................................................................................................. 11 4.4 读者管理模块 .......................................................................................................... 12
4.5 书籍管理模块 .......................................................................................................... 13 4.6 借书模块................................................................................................................... 15 ................................................................................................................................. 16 ........................................................................................................................... 17 附录 ........................................................................................................................................ 19



1
1.1课程设计选题
《图书管理系统》
1.2课程设计的目的
通过数据库系统课程设计,熟悉了SQL SERVER数据库管理系统的结构与组成;掌握了SQL SERVER数据库管理系统的应用技术和的使用;应用SQL server2008eclipse开发工具实践了《图书管理系统》的数据库应用系统的设计方法、开发过程和SQL SERVER数据库的管理与维护。最终达到掌握数据库管理系统的使用和开发,提高分析问题、解决问题和实践应用能力。
1.3本选题的设计背景
数据库技术和Internet的飞速发展,使他们已经成为现代信息技术的重要组成部分,是现在计算机信息系统和计算机应用系统的基础和核心。对于拥有庞大人员的学校的管理来讲,数据的有效使用是一个学校能否进行有效管理的一个关键。学校作为一个学习的地方,一定会有一个图书馆。有图书馆就必定要有管理,这样学校图书管理系统就显得更为重要。学校图书管理系统适应于绝大多数的学校图书馆的管理。应用此系统可以将众多的学生信息和图书信息进行有效的管理,提高学校的效率。

2 系统分析与设计
2.1 系统的需求分析
2.1.1 功能需求
1.读者基本信息的输入,包括读者借书证号、读者姓名、读者性别、出生日期、读者系部、读者专业、借阅数量。
2.读者基本信息的查询,包括读者借书证号、读者姓名、读者性别、出生日期、读者系部、读者专业、借阅数量。
3.书籍基本信息的录入,括书籍编号、书籍名称、作者姓名、出版社名称、出版日期、单价、复本量、库存量、类别。

4.书籍信息的查询,包括书籍编号、书籍名称、作者姓名、出版社名称、出版日期、单价、复本量、库存量、类别。
5.借阅书籍信息的录入,包括读者借阅证号、书籍编号、条形码、借书日期等。 6.借阅书籍信息的查询,包括读者借阅证号、书籍编号、条形码、借书日期等。 7.历史借阅书籍的查看,查询超过期限为归还图书的人的借阅证号、图书的编号、借书日期及归还日期。
8.读者可查看个人信息以及图书信息。
9.管理可查看增加读者信息、图书信息、以及借阅信息。 2.1.2 性能需求
1.性能方面:学校的图书馆可以同时供学校的500人访问,在校的学生或老师,都可以在图书馆借阅书籍。
2.可修改性方面:随着计算机技术的提高,图书管理系统可以根据学校的需要进行升级,从而提高它的实用性。
3.可用性方面:如果系统出现问题,可以用最短的时间进行恢复,同时,每过一段时间,可以对系统进行故障检测。
4.安全性方面:该系统设有一个级别最高的管理员,可以对系统进行所有的操作,然后在低一级就是读者,对个人信息和书籍信息有查阅权
5.用户操作方面:不同的角色有不同的权限,登陆进去过后,会有不同的界面,方面进行各种操作。
2.2 系统的开发运行环境
本系统开发平台:eclipse + sql server 2 本系系统运行平台:windows 7

2.3 系统总体设计
该系统主要是应用于学校图书馆的管理 。管理员通过不同权限的账号登陆进入不同的页面,行使不同的权力 ,管理员可以对读者信息的查询、添加,图书基本信息的查
询、入库、更新等。同时,使用该系统需要提供良好的用户界面,因此,还设计好了友好的用户界面。总体结构如下图:


图书管理系统
















3.1 数据库概念结构
用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入,现设计如下面所示的数据结构:
1.读者信息
读者的借阅证号、读者姓名、读者性别、出生年月、所在系部、所在专业、借阅数量
2.图书信息




3 数据库设计

图书编号、书名、作者、出版社、单价、复本量、库存量、类别
3.借阅信息
读者的借阅证号、图书编号、条码号、借阅日期
4.历史借阅信息
读者的借阅证号、读者的借阅证号、条码号、借阅日期、归还日期

总体E-R图:

3.2 数据库逻辑结构
3.2.1 关系模型
根据概念模型的E-R图,适当的进行优化后,可以得到以下三个关系模式: 1.读者信息(读者借书证号,读者姓名,读者性别,出生年月,所在系部,所在专业,借阅数量)
2.图书信息(图书编号,书名,作者,出版社,单价,复本量,库存量,类别) 3.借阅信息(借阅证号,图书编号,条码号,借阅日期,归还日期)



3.2.3 视图的设计
1.为了方便读者和管理员查询书籍是否可借,建立一个视图A,查询图书馆内图书的库存量,其字段信息包括:图书编号、书籍名称、库存量。具体实现如下: Create view A(ISBNBnameInvnum As select ISBNBnameInvnum
From Book 2.为了方便管理员对于读者借书情况的查看,以及便于挺醒超期为归还同学,建立一个视图B,查看借书超过两个月为归还的读者的借阅证号,具体实现如下: Create view B(Lno As select Lno
From Lend
Where (GETDATE(-Bordate>60

3.3 数据库的实现
3.3.1 1.读者信息表
包括读者的借阅证号Lno,读者的姓名Rname,读者性别Sex,出生日期Brithday,所在系部Dept,所属专业Spec以及借阅数量Bornum



2.图书信息表
包括图书编号ISBN,图书名称Bname,作者Author,出版社Press,单价Price复本量Copynum,库存量Invnum,类别Btype
3.借阅信息表

包括读者的借阅证号Lno,图书的编号ISBN,图书的条码号Barno,借阅日期Bordate

4.历史借阅信息表

包括读者的借阅证号Lno,图书的编号ISBN,图书的条码号Barno,借阅日期Bordate,归还日期Retdate



3.3.2 视图 视图A
视图B


3.3.3 安全性设计

为了确保图书管理信息的安全,设置两个一个用户。第一个为学生用户Eoot1,给予权限可以查看图书信息表。第二个用户为管理员用户Eoot2,给予权限可以查看,修改,删除读者信息表、图书信息表、借阅表、历史借阅表。具体实现如下:



3.3.4 完整性设计
本数据库系统的基本表有读者信息表Reader,图书信息表Book,借阅表Lend,历史借阅表HistoryLend。所以在建立表以及添加信息时须有参照完整性与用户定义完整性。具体参照如下:
1.借阅书籍必须是图书馆已有的书籍,同时,在记录读者借阅书籍时,要是持有图书证号的才可以,所以在建立借阅信息表时必须参照书籍信息表中的书籍编号ISBN)和读者信息中的读者图书证号(Lno)。

2.在历史借阅表中的还书记录,必须是图书馆借出去的书,而且借书者必须是在图书馆有记录的,所以,在建立还书记录时,借阅记录必须参照书籍信息表中的书籍编号(ISBN)和读者信息中的读者图书证号(Lno)。

3.在借阅表中的借阅记录,必须是从图书馆借出去的书,并且借书者必须是图书馆有记录的,所以,在建立还书记录时,借阅记录必须参照书籍信息表中的书籍编号(ISBN)和读者信息中的读者图书证号(Lno)。
4.另外,用户定义完整性需要对表有所约束。读者信息表中的性别,只可填为男或女,不能其他内容。
5.图书馆每人最多借出5本书,所以读者信息表中的借阅数量需约束小于等于五。 部分代码如下: 参照完整性:
Check约束

3.3.5 索引设计
此数据库中,除了每个表中的主键自动建立索引外,我还设计了两个索引。 1.因为读者借书有时并未归还而又想借书,图书管理员好查询记录,所以建立一个索引。在读者表中按照读者借书数量的多少进行排序,便于管理员查看提醒。

2.便于管理员查看并给予读者挺醒图书归还,建立一个索引,在Lend表中对借阅日期进行排序,便于查看哪位读者的借书时间快要到期。
实现如下:


3.3.5 触发器

建立一个触发器。当读者借阅图书,在借阅表中添加一条信息后,读者信息表中的借阅数量加一。具体实现如下:
create trigger jilu on Lend after insert as begin declare @Lno char(12 select @Lno=Lno from inserted update Reader set Bornum=Bornum+1 where Lno=@Lno print'修改成功' end go 3.3.6 存储过程
为了方便管理员管理查询读者信息。建立一个存储过程,通过输入读者的借书证号,显示读者的姓名与系部。代码如下:
--存储过程
create procedure chaxun (@Lno char(12, @Rname varchar(8 output, @Dept varchar(20output as select @Rname=Rname,@Dept=Dept from Reader where Lno=@Lno

--验证存储过程
declare @Rname varchar(8 declare @Dept varchar(20 exec chaxun'201205033101',@Rname output,@Dept output select @Rname as 姓名,@Dept as 系别

4 主要功能的详细设计与实现
4.1 登录模块
1.界面,登陆界面如下:

2.功能

本模块可以供不同用户进行登录,用户根据自己的身份选择为读者或者管理员。然后输入用户名和密码进行登陆,进入界面,选择相关操作。读者的用户名和密码为读者的姓名和借阅证号。


4.2 读者信息模块
1.登陆学生界面
选择读者身份,输入用户名和密码后进入学生查看信息界面,显示读者本人的信息。


2.选择查看,查看图书信息。



4.3 管理员模块
在登陆界面选择管理员登陆,账户密码为“admin”“123456”进入管理员界面


4.4 读者管理模块
1.选择读者管理,分为添加读者与查询读者。


选择添加读者,添加学生信息。输入姓名,学号,性别,出生日期,系部,专业,借书数量。点击添加学生便可把新增的学生信息添加到数据库中并保存。
2.读者管理下选择查询读者,有两个子菜单,分为名称查询和全部查询。


名称查询输入读者的姓名,点击查询,根据姓名查询出读者的个人信息。
3.选择全部查询,查询所有读者的信息。


量。界面下方有四个按钮,分别翻看查询其他读者信息。


查询结果界面显示读者的姓名,学号,性别,出生日期,系部,专业,借书数

4.5 书籍管理模块
1.选择书籍管理信息,分为添加书籍信息,和查询图书信息



选择添加图书信息,转到添加界面,输入书名,编号,作者,出版社,单价,复本量,库存量,类别。点击添加图书,将信息添加到数据库并保存。
2.选择查询图书,分为名称查询和全部查询。

3.选择全部查询

名称查询界面,输入书名点击查询进行查找图书的信息。



显示图书的基本信息,并在下方设有四个按钮,点击翻看查询其他图书的信息。
4.6 借书模块
1.借书模块分为借书情况和超期为归还,分别根据数据库的Lend表与HistoryLend表设定。

间。界面还有一个添加的选项框。点击添加进行添加借书记录。

选择借书情况查看读者借书的借阅证号,图书的编号,图书的条码号,以及借书时

2.选择超期为归还查看借书超过两个月为归还的读者的借书证号,图书编号,条码号,借书日期和归还日期。通过查询HistoryLend的借书日期和还书日期,通过计算显示出超过两个月还未归还图书的读者的借书证号,图书编号,条码号,借书日期和归还日期。



此次的课程设计的主要内容是图书借阅管理系统。主要分为图书管理、读者管理、图书借阅三个模块。这个系统主要的是面向图书管理员和读者设计的,即系统的操作人
员是管理员,和不同的读者。系统的设计使用的Java语言。用Java语言和数据库相连接共同实现本系统的功能。
这次的课程设计的主要目的是对数据库课程的知识的熟练应用,在此次设计中,将数据库理论知识与实际需求相结合进行设计。数据库的设计遵循了实体完整性、参照完整性和用户自定义完整性,整体上能够完成所需求的功能。
通过此次的课程设计,深刻体会到对数据库理论知识的掌握不够扎实,尤其是对于触发器、存储过程的设计和使用存在很大的问题。在完成本次的设计后,对这些知识有了进一步的掌握和理解。同时也更加熟练地掌握了一些java的知识。
在这次课程设计的结果中,我所做的图书管理系统能够初步的实现一些功能,例如读者和管理的查询信息,管理员的添加信息等。但仍有很多不足,比如并没有详细的设置删除等设置,同时对于超过借书期限而为归还的同学也没有设定罚款计算。
对于这次课设,我觉得培养了我的动手操作能力,从数据库的设计到实现再到用户界面的完成,更加熟练地让我掌握了所学的知识,真正的做到了学以致用。我希望能有更多的这样的锻炼机会,同时能够有更多的时间去修改完善我所做的系统。也希望能有机会小组合作,做些更加复杂全面的能够更好的运用在实际生活中的数据库系统。




[1]王春玲, 许福,范春梅. 数据库原理及应用教程:人民邮电出版社, 2014. [2]耿祥义, 张跃平. Java大学实用教程(第三版):电子工业出版社, 2012.


附录

1.图书馆管理系统设计中的java界面与数据库的链接重要代码如下: import java.sql.*;
public class lianjie1 { public static Connection getConn({ Connection conn = null;
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver";
System.out.println("驱动加载成功!"; conn =

DriverManager.getConnection("jdbc:sqlserver://localhost:1434;DatabaseName=tsgl","sa","111"; //字符串中不允许有空格
System.out.println("数据库连接成功!"; }

} catch (ClassNotFoundException e {
e.printStackTrace(; } catch (SQLException e { e.printStackTrace(;
} return conn; }
public static void main(String[] args { getConn(; } 2.登陆界面的基础代码如下:
import java.awt.event.*; import javax.swing.*; public class denglu extends JFrame implements ActionListener{

private JTextField textName; private JPasswordField textPassword; JComboBox cbSF;//选择身份下拉框
private JTextField textCheck;//显示提示结果 private JButton ok; public denglu( { super("图书管理系统";
JPanel panel = new JPanel(; JLabel labelName = new JLabel("用户名:", JLabel.CENTER; textName = new JTextField(15; panel.add(labelName;
panel.add(textName; JLabel labelPassword = new JLabel(" :";


textPassword = new JPasswordField(15; panel.add(labelPassword; panel.add(textPassword; String[]strSF={"读者","管理员"};
cbSF=new JComboBox(strSF; panel.add(new JLabel(" :";
panel.add(cbSF; ok = new JButton(" "; panel.add(ok; // 创建验证文本框
textCheck = new JTextField(20; textCheck.setEditable(false; textCheck.setVisible(false; panel.add(textCheck; getContentPane(.add(panel;

textName.addActionListener(this; ok.addActionListener(this; }
public void actionPerformed(ActionEvent e { if (e.getSource( == ok {//判断触发事件的是否为登录按钮

String name = textName.getText(; String ps = new String(textPassword.getPassword(; String sf=(StringcbSF.getSelectedItem(; if("管理员".equals(sf{ //如果下拉选项选择的是教师

if (name.equals("admin" && ps.equals("123456" { //若正确,调用教师界面(目前还没编写教师界面,下面这行语句先注

new TeacherMain(; textCheck.setText("用户名与密码不正确,教师登录失败!"; textCheck.setVisible(true; 释)
} else {
}
} }
}
} this.setSize(250, 160; textName.grabFocus(; }else if("读者".equals(sf{ //如果下拉选项选择的是学生 //调用登录业务处理类,判断登录学生用户是否正确
if (LoginManager.login(name,ps { //因上行语句注释,为保证语句逻辑正确性,暂时添加下行语句

//若学生用户信息正确,调用学生界面
new Student(name; textCheck.setText("用户名与密码不正确,学生登录失败!"; textCheck.setVisible(true; this.setSize(250, 160; textName.grabFocus(; // if (name.equals("李红梅" && ps.equals("201205033101" { } else { }//} public static void main(String args[] {
denglu frame = new denglu(; frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE; frame.setSize(250, 140; frame.setVisible(true; } 3.登陆界面与数据库链接的重要代码:
import java.sql.*; public class LoginManager {

public static boolean login(String name,String ps{
Connection connect = null;
}
PreparedStatement psmt = null;
ResultSet rs = null;
connect = lianjie1.getConn(; String sql="select * from reader where Rname=? and Lno=?"; try {
} return false; } public static void main(String[] args { System.out.println(login("李红梅","201205033101"; //System.out.println(login("aaa","1"; } psmt = connect.prepareStatement(sql; psmt.setString(1,name; psmt.setString(2,ps; rs=psmt.executeQuery(; if(rs.next({
} return false; e.printStackTrace(; try {
} if(rs!=null rs.close(; if(psmt!=nullpsmt.close(; if(connect!=nullconnect.close(; e.printStackTrace(; return true; } catch (SQLException e {
}finally{
} catch (SQLException e { 4.借书信息按照表格全部输出的代码如下:

import java.awt.BorderLayout; import java.awt.Color; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement;
import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.table.DefaultTableCellRenderer;
class jieshu extends JFrame implements ActionListener{

private static final long serialVersionUID = 1L; int w,h; JPanel pNorth;//定义面板容器类对象 JScrollPane pCenter;//定义滚动面板对象 JLabel Label_grb;//定义一个标签对象 MyTable table;//定义一个表格
Object a[][];//定义一个二维数组
Object name[]={"借书证号","图书编号","条码号","借书日期"};//定义数组 Connection con;//定义一个与数据库连接的对象 Statement sql; //定义一个向数据库发送语句的对象
ResultSet rs;//结果集(ResultSet是数据中查询结果返回的一种对象

JMenu ji; JMenuItem jie; JMenuBar menubar; JLabel result; ///////////////////////////////////////////////////////////////////// //////////////////////////////构造函数/////////////////////////////// jieshu({ jie=new JMenuItem("添加借书记录"; ji=new JMenu("添加"; menubar=new JMenuBar(; ji.add(jie; menubar.add(ji; setJMenuBar(menubar; result=new JLabel(; setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE; add(result; validate(; jie.addActionListener(this;
w=Toolkit.getDefaultToolkit(.getScreenSize(.width;//获取屏幕宽度 h=Toolkit.getDefaultToolkit(.getScreenSize(.height;//获取屏幕高度 try { Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"; } catch(ClassNotFoundException e{//捕获异常 System.out.println(""+e; } try{ con=DriverManager.getConnection("jdbc:sqlserver://localhost:1434;DatabaseName=tsgl","sa","111"; sql=con.createStatement(;
} catch(SQLException e{//捕获异常 System.out.println(e; }
try{ rs=sql.executeQuery("SELECT * FROM Lend"; a=new Object[100][4]; int i=0; while(rs.next({ a[i][0]=rs.getString(1; a[i][1]=rs.getString(2; a[i][2]=rs.getString(3; a[i][3]=rs.getString(4; i++; } } catch(SQLException e1{//捕获异常 System.out.println(e1; }

try{
}
con.close(; catch(SQLException e1{//捕获异常 System.out.println(e1; }
table=new MyTable(a,name;//创建网格对象 table.setRowHeight(20;//设置行高
DefaultTableCellRenderer r = new DefaultTableCellRenderer(;//处于正在编辑或者在最顶层放置的组件
r.setHorizontalAlignment(JLabel.CENTER;//设置文本对齐方式为居中

table.setDefaultRenderer(Object.class, r; pCenter=new JScrollPane(table;//为表table创建一个滚动面板对象
getContentPane(.add(pCenter,BorderLayout.CENTER;//将其添加到布局中
setTitle("借书情况";//设置标题 pNorth=new JPanel(; Label_grb=new JLabel("借书情况"; Label_grb.setForeground(Color.red; pNorth.add(Label_grb; getContentPane(.add(pNorth,BorderLayout.NORTH; setBounds((w-640/2,(h-350/2,640,350; validate(; setVisible(true; setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE; } public void actionPerformed(ActionEvent e{ if(e.getSource(==jie{ new addjieshu(; } } public static void main(String args[]{ jieshu win=new jieshu(; } } //class MyTable extends JTable{ // private static final long serialVersionUID = 1L;
// /////////////////////////////////////////////// // ///////////////////构造函数//////////////////// // MyTable(Object[][] a,Object[] lm // { // super(a,lm; // } // ////////////////////////////////////////////// // /////////////////设置单元格不能编辑的函数////// // public boolean isCellEditable(int row,int column // { // return false; // } //} 5.添加信息: import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Addbook extends JFrame{
JTextField BnameText,ISBNText,AuthorText,PressText,PriceText,CopynumText,InvnumText,BtypeText;

this.add(new JLabel("编号:"; ISBNText=new JTextField("",15; this.add(ISBNText; JButton addbook; JLabel tsLabel;//提示添加结果标签
public Addbook({ super("添加图书信息界面"; this.setLayout(new FlowLayout(; this.add(new JLabel("书名:"; BnameText=new JTextField("",15;
this.add(BnameText;



addbook.addActionListener(new MyListener(; this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE; this.setSize(250, 400; this.setVisible(true; } this.add(addbook=new JButton("添加图书"; this.add(tsLabel=new JLabel(""; this.add(new JLabel("库存量:"; InvnumText=new JTextField("",14; this.add(InvnumText;

this.add(new JLabel("类别:"; BtypeText=new JTextField("",14;
this.add(BtypeText; this.add(new JLabel("复本量:"; CopynumText=new JTextField("",14;
this.add(CopynumText; this.add(new JLabel("单价:"; PriceText=new JTextField("",15;
this.add(PriceText; this.add(new JLabel("作者:"; AuthorText=new JTextField("",15; this.add(AuthorText;

this.add(new JLabel("出版社:"; PressText=new JTextField("",14;
this.add(PressText;


public static void main(String args[] { new Addbook(; } public class MyListener implements ActionListener { public void actionPerformed(ActionEvent e {

if(e.getSource(==addbook{

String Bname=BnameText.getText(; String ISBN=ISBNText.getText(; String Author=AuthorText.getText(; String Press=PressText.getText(; String Copynum=CopynumText.getText(; String Invnum=InvnumText.getText(; String Price=PriceText.getText(; Float Price=Float.parseFloat(PriceText.getText(; Double Copynum=Double.parseDouble(CopynumText.getText(; Double Invnum=Double.parseDouble(InvnumText.getText(; String Btype=BtypeText.getText(; //下面代码注释需要AddbookManager类编完,才可去掉 //判断是否存在该图书,以防止重复添加 if(AddbookManager.isAdd(ISBN{

tsLabel.setText("编号为"+ISBN+"已经存在!"; //判断添加是否成功


}else{ // // //

if(AddbookManager.add(Bname,ISBN,Author,Press,Price,Copynum,Invnum,Btype } } } }
} tsLabel.setText("添加成功!"; tsLabel.setText("添加失败!"; >0{ }else{
} 6.查询信息: import java.awt.*; import java.awt.event.*; import javax.swing.*; public class SelectAll extends JFrame implements ActionListener{

JButton firstB,previousB,nextB,finalB;//4个按钮 JPanel jp;//卡片面板 CardLayout cl;//卡片式布局
public SelectAll({ super("查询所有学生信息界面"; jp=new JPanel(; cl=new CardLayout(;
jp.setLayout(cl;
this.add(jp,BorderLayout.CENTER; java.util.List list=SelectAllManager.getAll(; for(int i=0;i

Object[]stu=(Object[]list.get(i; JPanel jp1=new JPanel(; jp1.add(new JLabel("姓名:"; if(stu[0]!=null{ }
jp1.add(new JLabel("学号:"; JTextField LnoText=new JTextField("",25; if(stu[1]!=null LnoText.setText((Stringstu[1]; jp1.add(LnoText;

jp1.add(new JLabel("性别:"; JTextField SexText=new JTextField("",25; if(stu[2]!=null SexText.setText(stu[2].toString(; JTextField RnameText=new JTextField((Stringstu[0],25; jp1.add(RnameText;
// // //
} SexText.setEditable(false; jp1.add(SexText;
jp1.add(new JLabel("出生日期:"; JTextField BrithdayText=new JTextField("",23; if(stu[3]!=nullBrithdayText.setText(stu[3].toString(; BrithdayText.setEditable(false; jp1.add(BrithdayText;
jp1.add(new JLabel("系部:"; JTextField DpetText=new JTextField("",25; if(stu[4]!=nullDpetText.setText(stu[4].toString(; DpetText.setEditable(false; jp1.add(DpetText;
jp1.add(new JLabel("专业:"; JTextField SpecText=new JTextField("",25; if(stu[5]!=nullSpecText.setText(stu[5].toString(; SpecText.setEditable(false; jp1.add(SpecText;
jp1.add(new JLabel("借书数量:"; JTextField BornumText=new JTextField("",23; if(stu[6]!=nullBornumText.setText(stu[6].toString(; BornumText.setEditable(false; jp1.add(BornumText;
jp.add(jp1,""+i; //
//

JPanel jp2=new JPanel(; jp2.add(firstB=new JButton("第一个"; jp2.add(previousB=new JButton("上一个"; jp2.add(nextB=new JButton("下一个";

} jp2.add(finalB=new JButton("最后一个"; this.add(jp2,BorderLayout.SOUTH; firstB.addActionListener(this; previousB.addActionListener(this; nextB.addActionListener(this;
finalB.addActionListener(this; this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE; this.setSize(360, 400; this.setVisible(true; } public void actionPerformed(ActionEvent e { if(e.getSource(==firstB{ } } public static void main(String args[] { new SelectAll(; } cl.first(jp; cl.previous(jp; cl.next(jp; cl.last(jp; }else if(e.getSource(==previousB{ }else if(e.getSource(==nextB{
}else if(e.getSource(==finalB{

本文来源:https://www.2haoxitong.net/k/doc/25e7f1a0340cba1aa8114431b90d6c85ed3a885d.html

《华北科技学院数据库课设-.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式