数据库课设计-图书管理系统_第1页
数据库课设计-图书管理系统_第2页
数据库课设计-图书管理系统_第3页
数据库课设计-图书管理系统_第4页
数据库课设计-图书管理系统_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据库原理与应用课程设计报告 PAGE PAGE III华 北 科 技 学 院数据库原理与应用课程设计说明书学号: 班级: 计科 姓名: 设计题目: 图书管理系统 设计地点:_大软_ _设计时间: 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(

2、 ),B( ),C( ),D( ),F( )总评成绩:_指导教师:_崔新伟_目录 TOC o 1-3 h z HYPERLINK l _Toc17792 1 引 言 PAGEREF _Toc17792 1 HYPERLINK l _Toc24074 1.1课程设计选题 PAGEREF _Toc24074 1 HYPERLINK l _Toc19828 1.2课程设计的目的 PAGEREF _Toc19828 1 HYPERLINK l _Toc11665 1.3本选题的设计背景 PAGEREF _Toc11665 1 HYPERLINK l _Toc13791 2 系统分析与设计 PAGERE

3、F _Toc13791 1 HYPERLINK l _Toc18421 2.1 系统的需求分析 PAGEREF _Toc18421 1 HYPERLINK l _Toc25052 2.1.1 功能需求 PAGEREF _Toc25052 1 HYPERLINK l _Toc28703 2.1.2 性能需求 PAGEREF _Toc28703 2 HYPERLINK l _Toc3107 2.2 系统的开发运行环境 PAGEREF _Toc3107 2 HYPERLINK l _Toc5029 2.3 系统总体设计 PAGEREF _Toc5029 3 HYPERLINK l _Toc6820

4、3 数据库设计 PAGEREF _Toc6820 4 HYPERLINK l _Toc23687 3.1 数据库概念结构 PAGEREF _Toc23687 4 HYPERLINK l _Toc17387 3.2 数据库逻辑结构 PAGEREF _Toc17387 5 HYPERLINK l _Toc12679 3.2.1 关系模型 PAGEREF _Toc12679 5 HYPERLINK l _Toc15504 3.2.3 视图的设计 PAGEREF _Toc15504 5 HYPERLINK l _Toc8779 3.3 数据库的实现 PAGEREF _Toc8779 5 HYPERLI

5、NK l _Toc5446 3.3.1表 PAGEREF _Toc5446 5 HYPERLINK l _Toc26047 3.3.2 视图 PAGEREF _Toc26047 7 HYPERLINK l _Toc30278 3.3.3 安全性设计 PAGEREF _Toc30278 8 HYPERLINK l _Toc1098 3.3.4 完整性设计 PAGEREF _Toc1098 9 HYPERLINK l _Toc21707 3.3.5 索引设计 PAGEREF _Toc21707 10 HYPERLINK l _Toc19040 3.3.5 触发器 PAGEREF _Toc19040

6、 10 HYPERLINK l _Toc24082 3.3.6 存储过程 PAGEREF _Toc24082 11 HYPERLINK l _Toc17251 4 主要功能的详细设计与实现 PAGEREF _Toc17251 11 HYPERLINK l _Toc24512 4.1 登录模块 PAGEREF _Toc24512 11 HYPERLINK l _Toc16682 4.2 读者信息模块 PAGEREF _Toc16682 12 HYPERLINK l _Toc26396 4.3 管理员模块 PAGEREF _Toc26396 13 HYPERLINK l _Toc3492 4.4

7、读者管理模块 PAGEREF _Toc3492 13 HYPERLINK l _Toc11299 4.5 书籍管理模块 PAGEREF _Toc11299 15 HYPERLINK l _Toc18636 4.6 借书模块 PAGEREF _Toc18636 16 HYPERLINK l _Toc16147 结论 PAGEREF _Toc16147 18 HYPERLINK l _Toc6510 参 考 文 献 PAGEREF _Toc6510 18 HYPERLINK l _Toc11513 附录 19数据库原理与应用课程设计报告- PAGE 33 -1 引 言1.1课程设计选题图书管理系统

8、1.2课程设计的目的通过数据库系统课程设计,熟悉了SQL SERVER数据库管理系统的结构与组成;掌握了SQL SERVER数据库管理系统的应用技术和的使用;应用SQL server2008和eclipse开发工具实践了图书管理系统的数据库应用系统的设计方法、开发过程和SQL SERVER数据库的管理与维护。最终达到掌握数据库管理系统的使用和开发,提高分析问题、解决问题和实践应用能力。1.3本选题的设计背景数据库技术和Internet的飞速发展,使他们已经成为现代信息技术的重要组成部分,是现在计算机信息系统和计算机应用系统的基础和核心。对于拥有庞大人员的学校的管理来讲,数据的有效使用是一个学校

9、能否进行有效管理的一个关键。学校作为一个学习的地方,一定会有一个图书馆。有图书馆就必定要有管理,这样学校图书管理系统就显得更为重要。学校图书管理系统适应于绝大多数的学校图书馆的管理。应用此系统可以将众多的学生信息和图书信息进行有效的管理,提高学校的效率。2 系统分析与设计2.1 系统的需求分析2.1.1 功能需求读者基本信息的输入,包括读者借书证号、读者姓名、读者性别、出生日期、读者系部、读者专业、借阅数量。读者基本信息的查询,包括读者借书证号、读者姓名、读者性别、出生日期、读者系部、读者专业、借阅数量。书籍基本信息的录入,括书籍编号、书籍名称、作者姓名、出版社名称、出版日期、单价、复本量、库

10、存量、类别。书籍信息的查询,包括书籍编号、书籍名称、作者姓名、出版社名称、出版日期、单价、复本量、库存量、类别。借阅书籍信息的录入,包括读者借阅证号、书籍编号、条形码、借书日期等。借阅书籍信息的查询,包括读者借阅证号、书籍编号、条形码、借书日期等。历史借阅书籍的查看,查询超过期限为归还图书的人的借阅证号、图书的编号、借书日期及归还日期。读者可查看个人信息以及图书信息。管理可查看增加读者信息、图书信息、以及借阅信息。2.1.2 性能需求性能方面:学校的图书馆可以同时供学校的500人访问,在校的学生或老师,都可以在图书馆借阅书籍。可修改性方面:随着计算机技术的提高,图书管理系统可以根据学校的需要进

11、行升级,从而提高它的实用性。可用性方面:如果系统出现问题,可以用最短的时间进行恢复,同时,每过一段时间,可以对系统进行故障检测。安全性方面:该系统设有一个级别最高的管理员,可以对系统进行所有的操作,然后在低一级就是读者,对个人信息和书籍信息有查阅权 。用户操作方面:不同的角色有不同的权限,登陆进去过后,会有不同的界面,方面进行各种操作。2.2 系统的开发运行环境本系统开发平台:eclipse + sql server 2 本系系统运行平台:windows 72.3 系统总体设计该系统主要是应用于学校图书馆的管理 。管理员通过不同权限的账号登陆进入不同的页面,行使不同的权力 ,管理员可以对读者信

12、息的查询、添加,图书基本信息的查询、入库、更新等。同时,使用该系统需要提供良好的用户界面,因此,还设计好了友好的用户界面。总体结构如下图:图书管理系统历 史 借 阅书 籍 管 理借 阅 记 录读 者 管 理历史借阅查询借阅记录查询借阅记录添加读者信息添加读者信息查询书籍信息查询书籍信息添加3 数据库设计3.1 数据库概念结构用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入,现设计如下面所示的数据结构:读者信息读者的借阅证号、读者姓名、读者性别、出生年月、所在系部、所在专业、借阅数量图书信息图书编号、书名、作者、出版社、单价、复本量、库存量、

13、类别借阅信息读者的借阅证号、图书编号、条码号、借阅日期历史借阅信息读者的借阅证号、读者的借阅证号、条码号、借阅日期、归还日期总体E-R图:3.2 数据库逻辑结构3.2.1 关系模型根据概念模型的E-R图,适当的进行优化后,可以得到以下三个关系模式:读者信息(读者借书证号,读者姓名,读者性别,出生年月,所在系部,所在专业,借阅数量)图书信息(图书编号,书名,作者,出版社,单价,复本量,库存量,类别)借阅信息(借阅证号,图书编号,条码号,借阅日期,归还日期)3.2.3 视图的设计为了方便读者和管理员查询书籍是否可借,建立一个视图A,查询图书馆内图书的库存量,其字段信息包括:图书编号、书籍名称、库存

14、量。具体实现如下: Create view A(ISBN,Bname,Invnum) As select ISBN,Bname,Invnum From Book为了方便管理员对于读者借书情况的查看,以及便于挺醒超期为归还同学,建立一个视图B,查看借书超过两个月为归还的读者的借阅证号,具体实现如下: Create view B(Lno) As select Lno From Lend Where (GETDATE()-Bordate)603.3 数据库的实现3.3.1表读者信息表 包括读者的借阅证号Lno,读者的姓名Rname,读者性别Sex,出生日期Brithday,所在系部Dept,所属专业

15、Spec以及借阅数量Bornum。 图书信息表 包括图书编号ISBN,图书名称Bname,作者Author,出版社Press,单价Price,复本量Copynum,库存量Invnum,类别Btype。 借阅信息表 包括读者的借阅证号Lno,图书的编号ISBN,图书的条码号Barno,借阅日期Bordate。 历史借阅信息表 包括读者的借阅证号Lno,图书的编号ISBN,图书的条码号Barno,借阅日期Bordate,归还日期Retdate。 3.3.2 视图视图A 视图B 3.3.3 安全性设计为了确保图书管理信息的安全,设置两个一个用户。第一个为学生用户Eoot1,给予权限可以查看图书信息表

16、。第二个用户为管理员用户Eoot2,给予权限可以查看,修改,删除读者信息表、图书信息表、借阅表、历史借阅表。具体实现如下:3.3.4 完整性设计本数据库系统的基本表有读者信息表Reader,图书信息表Book,借阅表Lend,历史借阅表HistoryLend。所以在建立表以及添加信息时须有参照完整性与用户定义完整性。具体参照如下:借阅书籍必须是图书馆已有的书籍,同时,在记录读者借阅书籍时,要是持有图书证号的才可以,所以在建立借阅信息表时必须参照书籍信息表中的书籍编号(ISBN)和读者信息中的读者图书证号(Lno)。 在历史借阅表中的还书记录,必须是图书馆借出去的书,而且借书者必须是在图书馆有记

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

18、因为读者借书有时并未归还而又想借书,图书管理员好查询记录,所以建立一个索引。在读者表中按照读者借书数量的多少进行排序,便于管理员查看提醒。便于管理员查看并给予读者挺醒图书归还,建立一个索引,在Lend表中对借阅日期进行排序,便于查看哪位读者的借书时间快要到期。实现如下: 3.3.5 触发器 建立一个触发器。当读者借阅图书,在借阅表中添加一条信息后,读者信息表中的借阅数量加一。具体实现如下:create trigger jiluon Lend after insertasbegindeclare Lno char(12)select Lno=Lno from insertedupdate Rea

19、der set Bornum=Bornum+1 where Lno=Lnoprint修改成功endgo3.3.6 存储过程为了方便管理员管理查询读者信息。建立一个存储过程,通过输入读者的借书证号,显示读者的姓名与系部。代码如下:-存储过程create procedure chaxun(Lno char(12),Rname varchar(8) output,Dept varchar(20)output)as select Rname=Rname,Dept=Deptfrom Readerwhere Lno=Lno-验证存储过程declare Rname varchar(8)declare Dep

20、t varchar(20)exec chaxun201205033101,Rname output,Dept outputselect Rname as 姓名,Dept as 系别4 主要功能的详细设计与实现4.1 登录模块界面,登陆界面如下: 功能 本模块可以供不同用户进行登录,用户根据自己的身份选择为读者或者管理员。然后输入用户名和密码进行登陆,进入界面,选择相关操作。读者的用户名和密码为读者的姓名和借阅证号。4.2 读者信息模块登陆学生界面 选择读者身份,输入用户名和密码后进入学生查看信息界面,显示读者本人的信息。 2.选择查看,查看图书信息。 4.3 管理员模块在登陆界面选择管理员登陆

21、,账户密码为“admin”“123456”进入管理员界面4.4 读者管理模块选择读者管理,分为添加读者与查询读者。 选择添加读者,添加学生信息。输入姓名,学号,性别,出生日期,系部,专业,借书数量。点击添加学生便可把新增的学生信息添加到数据库中并保存。读者管理下选择查询读者,有两个子菜单,分为名称查询和全部查询。 名称查询输入读者的姓名,点击查询,根据姓名查询出读者的个人信息。选择全部查询,查询所有读者的信息。 查询结果界面显示读者的姓名,学号,性别,出生日期,系部,专业,借书数量。界面下方有四个按钮,分别翻看查询其他读者信息。4.5 书籍管理模块选择书籍管理信息,分为添加书籍信息,和查询图书

22、信息 选择添加图书信息,转到添加界面,输入书名,编号,作者,出版社,单价,复本量,库存量,类别。点击添加图书,将信息添加到数据库并保存。选择查询图书,分为名称查询和全部查询。 名称查询界面,输入书名点击查询进行查找图书的信息。选择全部查询 显示图书的基本信息,并在下方设有四个按钮,点击翻看查询其他图书的信息。4.6 借书模块借书模块分为借书情况和超期为归还,分别根据数据库的Lend表与HistoryLend表设定。 选择借书情况查看读者借书的借阅证号,图书的编号,图书的条码号,以及借书时间。界面还有一个添加的选项框。点击添加进行添加借书记录。选择超期为归还查看借书超过两个月为归还的读者的借书证

23、号,图书编号,条码号,借书日期和归还日期。通过查询HistoryLend的借书日期和还书日期,通过计算显示出超过两个月还未归还图书的读者的借书证号,图书编号,条码号,借书日期和归还日期。 结论此次的课程设计的主要内容是图书借阅管理系统。主要分为图书管理、读者管理、图书借阅三个模块。这个系统主要的是面向图书管理员和读者设计的,即系统的操作人员是管理员,和不同的读者。系统的设计使用的Java语言。用Java语言和数据库相连接共同实现本系统的功能。这次的课程设计的主要目的是对数据库课程的知识的熟练应用,在此次设计中,将数据库理论知识与实际需求相结合进行设计。数据库的设计遵循了实体完整性、参照完整性和

24、用户自定义完整性,整体上能够完成所需求的功能。通过此次的课程设计,深刻体会到对数据库理论知识的掌握不够扎实,尤其是对于触发器、存储过程的设计和使用存在很大的问题。在完成本次的设计后,对这些知识有了进一步的掌握和理解。同时也更加熟练地掌握了一些java的知识。在这次课程设计的结果中,我所做的图书管理系统能够初步的实现一些功能,例如读者和管理的查询信息,管理员的添加信息等。但仍有很多不足,比如并没有详细的设置删除等设置,同时对于超过借书期限而为归还的同学也没有设定罚款计算。对于这次课设,我觉得培养了我的动手操作能力,从数据库的设计到实现再到用户界面的完成,更加熟练地让我掌握了所学的知识,真正的做到

25、了学以致用。我希望能有更多的这样的锻炼机会,同时能够有更多的时间去修改完善我所做的系统。也希望能有机会小组合作,做些更加复杂全面的能够更好的运用在实际生活中的数据库系统。参 考 文 献1王春玲, 许福,范春梅. 数据库原理及应用教程:人民邮电出版社, 2014.2耿祥义, 张跃平. Java大学实用教程(第三版):电子工业出版社, 2012.图书馆管理系统设计中的java界面与数据库的链接重要代码如下: import java.sql.*; public class lianjie1 public static Connection getConn()Connection conn = nul

26、l;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 (SQLExcepti

27、on e) e.printStackTrace();return conn; public static void main(String args) getConn();登陆界面的基础代码如下: import java.awt.event.*; import javax.swing.*;public class denglu extends JFrame implements ActionListenerprivate JTextField textName;private JPasswordField textPassword;JComboBox cbSF;/选择身份下拉框private

28、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

29、(15);panel.add(labelPassword);panel.add(textPassword);StringstrSF=读者,管理员;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);getC

30、ontentPane().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=(String)cbSF.getSelectedItem();if(管理员.eq

31、uals(sf) /如果下拉选项选择的是教师if (name.equals(admin) & ps.equals(123456) /若正确,调用教师界面(目前还没编写教师界面,下面这行语句先注释)new TeacherMain(); else textCheck.setText(用户名与密码不正确,教师登录失败!);textCheck.setVisible(true);this.setSize(250, 160);textName.grabFocus();else if(读者.equals(sf) /如果下拉选项选择的是学生/调用登录业务处理类,判断登录学生用户是否正确if (LoginMan

32、ager.login(name,ps) /因上行语句注释,为保证语句逻辑正确性,暂时添加下行语句/if (name.equals(李红梅) & ps.equals(201205033101) /若学生用户信息正确,调用学生界面new Student(name); else textCheck.setText(用户名与密码不正确,学生登录失败!);textCheck.setVisible(true);this.setSize(250, 160);textName.grabFocus();/ public static void main(String args) denglu frame = n

33、ew denglu();frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setSize(250, 140);frame.setVisible(true);登陆界面与数据库链接的重要代码: import java.sql.*; public class LoginManager public static boolean login(String name,String ps)Connection connect = null;PreparedStatement psmt = null;ResultSet rs = null;

34、connect = lianjie1.getConn();String sql=select * from reader where Rname=? and Lno=?;try psmt = connect.prepareStatement(sql);psmt.setString(1,name);psmt.setString(2,ps);rs=psmt.executeQuery();if(rs.next()return true;return false; catch (SQLException e) e.printStackTrace();finallytry if(rs!=null) rs

35、.close();if(psmt!=null)psmt.close();if(connect!=null)connect.close(); catch (SQLException e) e.printStackTrace();return false;public static void main(String args) System.out.println(login(李红梅,201205033101);/System.out.println(login(aaa,1); 借书信息按照表格全部输出的代码如下:import java.awt.BorderLayout;import java.a

36、wt.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

37、 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 ActionListenerprivate static final long serialVersionUID = 1L;int w,h;JPanel p

38、North;/定义面板容器类对象JScrollPane pCenter;/定义滚动面板对象JLabel Label_grb;/定义一个标签对象MyTable table;/定义一个表格 Object a;/定义一个二维数组 Object name=借书证号,图书编号,条码号,借书日期;/定义数组 Connection con;/定义一个与数据库连接的对象 Statement sql; /定义一个向数据库发送语句的对象 ResultSet rs;/结果集(ResultSet)是数据中查询结果返回的一种对象 JMenu ji; JMenuItem jie; JMenuBar menubar; JL

39、abel 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.getDefaultTo

40、olkit().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;Database

41、Name=tsgl,sa,111); sql=con.createStatement(); catch(SQLException e)/捕获异常 System.out.println(e); try rs=sql.executeQuery(SELECT * FROM Lend); a=new Object1004; int i=0; while(rs.next() ai0=rs.getString(1); ai1=rs.getString(2); ai2=rs.getString(3); ai3=rs.getString(4); i+; catch(SQLException e1)/捕获异常

42、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.setDef

43、aultRenderer(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,B

44、orderLayout.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 e

45、xtends JTable/private static final long serialVersionUID = 1L;/构造函数/MyTable(Object a,Object lm)/ super(a,lm);/设置单元格不能编辑的函数/public boolean isCellEditable(int row,int column)/return false;/ /添加信息:import java.awt.*;import java.awt.event.*;import javax.swing.*;public class Addbook extends JFrameJTextFie

46、ld BnameText,ISBNText,AuthorText,PressText,PriceText,CopynumText,InvnumText,BtypeText;JButton addbook;JLabel tsLabel;/提示添加结果标签public Addbook()super(添加图书信息界面);this.setLayout(new FlowLayout();this.add(new JLabel(书名:);BnameText=new JTextField(,15);this.add(BnameText);this.add(new JLabel(编号:);ISBNText=n

47、ew JTextField(,15);this.add(ISBNText);this.add(new JLabel(作者:);AuthorText=new JTextField(,15);this.add(AuthorText);this.add(new JLabel(出版社:);PressText=new JTextField(,14);this.add(PressText);this.add(new JLabel(单价:);PriceText=new JTextField(,15);this.add(PriceText);this.add(new JLabel(复本量:);CopynumT

48、ext=new JTextField(,14);this.add(CopynumText);this.add(new JLabel(库存量:);InvnumText=new JTextField(,14);this.add(InvnumText);this.add(new JLabel(类别:);BtypeText=new JTextField(,14);this.add(BtypeText);this.add(addbook=new JButton(添加图书);this.add(tsLabel=new JLabel();addbook.addActionListener(new MyList

49、ener();this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);this.setSize(250, 400);this.setVisible(true);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.g

50、etText();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(Co

51、pynumText.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,Bt

52、ype)0)tsLabel.setText(添加成功!);elsetsLabel.setText(添加失败!);查询信息:import java.awt.*;import java.awt.event.*;import javax.swing.*;public class SelectAll extends JFrame implements ActionListenerJButton 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;ilist.size();i+)Objectstu=(Object)list.get(i);JPanel j

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论