java课程设计图书信息管理系统.doc

上传人:仙人指路1688 文档编号:2387076 上传时间:2023-02-17 格式:DOC 页数:17 大小:338KB
返回 下载 相关 举报
java课程设计图书信息管理系统.doc_第1页
第1页 / 共17页
java课程设计图书信息管理系统.doc_第2页
第2页 / 共17页
java课程设计图书信息管理系统.doc_第3页
第3页 / 共17页
java课程设计图书信息管理系统.doc_第4页
第4页 / 共17页
java课程设计图书信息管理系统.doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《java课程设计图书信息管理系统.doc》由会员分享,可在线阅读,更多相关《java课程设计图书信息管理系统.doc(17页珍藏版)》请在三一办公上搜索。

1、高级网络程序设计课程设计报告班级: 学号: 姓名: 成绩: 2012年3月 报告题目图书信息管理系统:要求:使用图形用户界面用数据库建立1或2个图书信息表。能连接数据库并实现查询、增加、删除、修改等功能。 设计思想 首先将添加数据、查询数据、删除数据、修改数据四个功能分别为四个类来实现,每一个类都继承了主窗口类JFRAME,使得窗口可以独自运行。主界面设计 功能组件 :4个按钮、1个背景、1个标签文本、1个面板 功能实现 :查询数据、添加数据、删除数据、修改数据 实现过程 : 对按钮添加监控,共有4个监控事件,实现按钮事件为创建对应功能的类对象,实现相应的功能窗口。添加类设计 功能组件 : 5

2、个文本域、5个标签、1个按钮 功能实现 : 添加数据 实现过程 : 对按钮添加监听器,实现按钮事件为获取文本域中的信息,并执行SQL的添加语句。查询类设计 功能组件 : 5个按钮、三个单行文本组件、1个下拉框、1个多行文本 功能实现 : 按书号查询、按姓名查询、显示全部 实现过程 : 对按钮添加监听器,共有五个监控事件,前三个实现按钮事件为先获取文本域中的信息,根据对应查询的要求执行相应的SQL的SELLECT语句;按课程查询通过在下来框中选择对应的选项,即查询相应的课程;第五个查询按钮将全部信息在多行文本框中输出。修改类设计 功能组件 : 5个单行文本、5个标签、1个按钮 功能实现 : 修改

3、数据 实现过程 : 与添加数据类似,对按钮添加监听器,实现按钮事件为获取文本域中的信息,并执行SQL的MODIFY语句删除类设计 功能组件 : 1个单行文本、1个标签、1个按钮、1个多行文本 功能实现 : 删除数据 实现过程 : 与修改数据类似,对按钮添加监听器,实现按钮事件为获取文本域信息,并执行SQL的DELETE语句;数据库设计通过Access工具创建数据库表,命名为library.mdb。数据库截图如下: 功能实现1. 运行主界面MainWindow.class如图所示:2. 添加功能实现界面:3. 查询功能实现界面:4. 删除功能实现界面:5. 修改功能实现界面: 程序源代码清单/M

4、ainWindow.javaimport java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.border.TitledBorder;import java.awt.Color;import java.awt.Font;public class MainWindow extends JFrame implements ActionListenerprivate static final long serialVersionUID = 1L;JLabel mlabel;JPanel jp=new J

5、Panel();JButton button1=new JButton(查询管理);JButton button2=new JButton(添加书籍);JButton button3=new JButton(删除书籍);JButton button4=new JButton(修改信息);public MainWindow()super(图书管理系统-作者:崔博);setSize(400,300);button1.addActionListener(this);button2.addActionListener(this);button3.addActionListener(this);butt

6、on4.addActionListener(this);Font myFont=new Font(楷体_GB2312,Font.BOLD,40);mlabel=new JLabel( 图书管理系统);mlabel.setFont(myFont);add(mlabel);this.add(jp);jp.add(button1);jp.add(button2);jp.add(button3);jp.add(button4); public void actionPerformed(ActionEvent e)if(e.getSource()=button1)FindBook findbook=ne

7、w FindBook();findbook.setVisible(true);if(e.getSource()=button2)AddBook addBook=new AddBook();addBook.setVisible(true);if(e.getSource()=button3)DeleteBook delBook=new DeleteBook();delBook.setVisible(true);if(e.getSource()=button4)ModifyBook modifyBook=new ModifyBook(); modifyBook.setVisible(true);pu

8、blic static void main (String args) MainWindow mainFrame=new MainWindow();mainFrame.setLocation(400,150);mainFrame.setVisible(true);/FindBook.javaimport java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.event.*;import java.sql.*;public class FindBook extends JFrame implement

9、s ActionListenerDataBaseManger db=new DataBaseManger();ResultSet rs;JLabel select=new JLabel(请输入书名或者索书号);JTextField jtf=new JTextField(20);JPanel p1=new JPanel();JPanel p2=new JPanel();JLabel lb=new JLabel(书籍信息);JButton findbt=new JButton(查询);JButton yesbt=new JButton(确定);JTextArea jta=new JTextArea

10、(10,20);public FindBook()super(查询书籍信息);Container c=getContentPane();p1.add(select);p1.add(jtf);p1.add(findbt);c.add(p1,BorderLayout.NORTH);p2.add(lb);p2.add(jta);p2.add(yesbt);c.add(p2,BorderLayout.SOUTH);yesbt.addActionListener(this);findbt.addActionListener(this);setSize(500,300);setVisible(true);

11、setLocation(400,150);public void actionPerformed(ActionEvent e)if(e.getActionCommand()=确定)this.dispose();if(e.getActionCommand()=查询)String bname=jtf.getText();String bno=jtf.getText();String sqlstr;sqlstr=select * from book where bname=+bname+ or bno=+bno+;rs=db.getResult(sqlstr);tryjta.setText();if

12、(rs.next()jta.append(索书号为:+rs.getString(1)+,+书名为:+rs.getString(2)+,+现有数量为:+rs.getString(3)+n);jta.append(作者为:+rs.getString(4)+,+出版社为:+rs.getString(5);elsejta.append(对不起,没有您要找的书籍!); catch(Exception pe) pe.printStackTrace(); /AddBook.javaimport java.awt.*;import java.awt.event.*;import javax.swing.*;i

13、mport javax.swing.event.*;import java.sql.*;public class AddBook extends JFrame implements ActionListener MainWindow mw=new MainWindow();DataBaseManger db=new DataBaseManger();ResultSet rs;JPanel pan1,pan2,pan3,pan4,pan5,pan6,pan7,pan8;JLabel bname=new JLabel( 请输入书名 :);JLabel bno=new JLabel( 请输入索书号

14、:);JLabel bnum=new JLabel(请输入书的数量:);JLabel author=new JLabel(请输入书的作者:);JLabel publisher=new JLabel( 请输入出版社 :);JTextField tname=new JTextField(10);JTextField tno=new JTextField(10);JTextField tnum=new JTextField(10);JTextField tauthor=new JTextField(10);JTextField tpublisher=new JTextField(10);JButto

15、n addbt=new JButton(添加);JButton yesbt=new JButton(确定);JPanel p3=new JPanel();public AddBook()super(添加图书);/Container c=getContentPane();pan1=new JPanel();pan2=new JPanel();pan3=new JPanel();pan4=new JPanel();pan5=new JPanel();pan6 =new JPanel();pan7=new JPanel();pan8 =new JPanel();pan1.add(bname);pan

16、1.add(tname);pan2.add(bno);pan2.add(tno);pan3.add(bnum);pan3.add(tnum);pan4.add(author);pan4.add(tauthor);pan5.add(publisher);pan5.add(tpublisher);pan6.add(addbt);pan6.add(yesbt);add(pan7);add(pan8);add(pan1);add(pan2);add(pan3);add(pan4);add(pan5);add(pan6);setLayout(new GridLayout(8,1);addbt.addAc

17、tionListener(this);yesbt.addActionListener(this);setSize(500,300);setLocation(400,150);public void actionPerformed(ActionEvent e)String bname,bno,author,publisher;int bnum;if(e.getActionCommand()=确定)this.dispose();if(e.getActionCommand()=添加)bname=tname.getText();bno=tno.getText();author=tauthor.getT

18、ext();publisher=tpublisher.getText();bnum=Integer.parseInt(tnum.getText();String sqlstr=insert into book (bno,bname,bnum,author,publisher) values(+bno+,+bname+,+bnum+,+author+,+publisher+); boolean result=db.updateSql(sqlstr); db.closeConnection(); /DeleteBook.javaimport java.awt.*;import java.awt.e

19、vent.*;import javax.swing.*;import javax.swing.event.*;import java.sql.*;public class DeleteBook extends JFrame implements ActionListener MainWindow mw=new MainWindow();DataBaseManger db=new DataBaseManger();ResultSet rs;JLabel bno=new JLabel(请输入要删除的图书索引号);JLabel L;JTextField tno=new JTextField(10);

20、JTable table;/用来接收数据库中返回的信息JButton chakan=new JButton(查看);JTextArea jta=new JTextArea(10,20);JButton delbt=new JButton(删除);JButton yesbt=new JButton(确定);JPanel p1=new JPanel();JPanel p2=new JPanel();public DeleteBook()super(删除图书);Container c=getContentPane();p1.add(bno);p1.add(tno);c.add(p1,BorderLa

21、yout.NORTH);p2.add(delbt);p2.add(yesbt);p1.add(chakan);p1.add(jta);c.add(p2,BorderLayout.SOUTH);delbt.addActionListener(this);yesbt.addActionListener(this);chakan.addActionListener(this);setSize(400,300);setLocation(400,150);JPanel p=new JPanel();/用来放两个表p.setLayout(new BorderLayout();public void act

22、ionPerformed(ActionEvent e)String bno;if(e.getActionCommand()=查看)String txt_bno=tno.getText();String sqlstr;sqlstr=select * from book where bno=+txt_bno+;rs=db.getResult(sqlstr);tryjta.setText();if(rs.next()jta.append(索书号为:+rs.getString(1)+,+书名为:+rs.getString(2)+,+现有数量为:+rs.getString(3)+n);jta.appen

23、d(作者为:+rs.getString(4)+,+出版社为:+rs.getString(5);elsejta.append(没有该书籍); catch(Exception pe) pe.printStackTrace(); if(e.getActionCommand()=确定)this.dispose();if(e.getActionCommand()=删除)bno=tno.getText();String sqlstr=delete bno from book where bno=+bno+; boolean result=db.updateSql(sqlstr); db.closeConn

24、ection(); /ModifyBook.javaimport java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.event.*;import java.sql.*;public class ModifyBook extends JFrame implements ActionListener MainWindow mw=new MainWindow();DataBaseManger db=new DataBaseManger();ResultSet rs;JPanel pan1,pan2,p

25、an3,pan4,pan5,pan6,pan7,pan8;JLabel bname=new JLabel( 请输入书名 :);JLabel bno=new JLabel( 请输入要修改的书号 :);JLabel bnum=new JLabel(请输入书的数量:);JLabel author=new JLabel(请输入书的作者:);JLabel publisher=new JLabel( 请输入出版社 :);JTextField tname=new JTextField(10);JTextField tno=new JTextField(10);JTextField tnum=new JTex

26、tField(10);JTextField tauthor=new JTextField(10);JTextField tpublisher=new JTextField(10);JButton addbt=new JButton(修改);JButton yesbt=new JButton(确定);JPanel p3=new JPanel();public ModifyBook()super(修改图书信息);/Container c=getContentPane();pan1=new JPanel();pan2=new JPanel();pan3=new JPanel();pan4=new J

27、Panel();pan5=new JPanel();pan6 =new JPanel();pan7=new JPanel();pan8 =new JPanel();pan2.add(bname);pan2.add(tname);pan1.add(bno);pan1.add(tno);pan3.add(bnum);pan3.add(tnum);pan4.add(author);pan4.add(tauthor);pan5.add(publisher);pan5.add(tpublisher);pan6.add(addbt);pan6.add(yesbt);add(pan7);add(pan8);

28、add(pan1);add(pan2);add(pan3);add(pan4);add(pan5);add(pan6);setLayout(new GridLayout(8,1);addbt.addActionListener(this);yesbt.addActionListener(this);setSize(500,300);setLocation(400,150);public void actionPerformed(ActionEvent e)String bname,bno,author,publisher;int bnum;if(e.getActionCommand()=确定)

29、this.dispose();if(e.getActionCommand()=修改)bname=tname.getText();bno=tno.getText();author=tauthor.getText();publisher=tpublisher.getText();bnum=Integer.parseInt(tnum.getText();String sqlstr=update book set bname=+bname+,bnum=+bnum+, author=+author+,publisher=+publisher+ where bno=+bno+; boolean resul

30、t=db.updateSql(sqlstr); db.closeConnection(); / DataBaseManger.javaimport java.sql.*;import java.io.*;public class DataBaseMangerString url=jdbc:odbc:library;String name;Connection con;Statement stmt;ResultSet rs;public DataBaseManger()tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver); con=DriverManage

31、r.getConnection(url); stmt=con.createStatement(); catch (Exception e) e.printStackTrace(); /执行查询SQL语句public ResultSet getResult(String strSQL)tryrs=stmt.executeQuery(strSQL);return rs;catch(SQLException sqle)System.out.println(sqle.toString();return null;/执行更新SQL语句 public boolean updateSql(String st

32、rSQL) try stmt.executeUpdate(strSQL); mit(); return true; catch(SQLException sqle) System.out.println(sqle.toString(); return false; public void closeConnection() try con.close(); catch(SQLException sqle) System.out.println(sqle.toString(); 心得体会本次java课程设计,本人的编程能力得到很大的提高,由于基础学的不是特别扎实,所以在做的过程中始终抛开不了课本,但是设计思想和操作基本都是自己所想,做的过程当中像按钮和组件方面会遇到一些问题,导致在排除错误方面话费很大时间,但是最终还是得到了解决,虽然本次java课程设计短暂而且时间紧凑,而且做得不够完善,但是还是给我带来了浓厚的兴趣,认识到自己的动手能力还需加强,本人以后会继续改进,进一步提高自己。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号