您好,欢迎来到刀刀网。
搜索
您的当前位置:首页Java图书管理系统 附源码

Java图书管理系统 附源码

来源:刀刀网
目 录

题目简述 -------------------------------- 01 需求分析 -------------------------------- 01 数据结构 -------------------------------- 01 功能模块 -------------------------------- 02 程序设计 -------------------------------- 02 运行截图 -------------------------------- 04 分析总结 -------------------------------- 08 程序源码 -------------------------------- 08

Java 语言程序设计 课程报告

图书信息管理系统

题目简述:

题目名称:图书信息管理系统

要求:使用图形用户界面,用数据库建立1或2个图书信息表,能连接数据库并实现查询、增加、删除、修改等功能。

需求分析:

图书信息管理系统应该具备图书的信息管理功能和流通管理功能。其中,信息管理功能

包括查找,增加,修改,删除,显示全部信息等模块。流通管理功能包括图书借阅,归还等模块。因此分别设计各个模块,实现不同的功能。

数据结构:

用SQL Sever 建立数据库的表,用一张表存放图书的ID号码,图书名称,图书的所有

者,图书状态,图书的使用者(允许为空)。具体设计如下图所示:

图书ID,图书名称,图书所有者,图书的状态,图书使用者(允许为空)均为varchar(50)

类型,在Java中可以方便的查询。图书存储信息的具体内容如下图所示:

- 1 -

Java 语言程序设计 课程报告

功能模块:

主程序窗口 系统操作 图书信息管理 图书流通管理 退出 图书借阅 图书归还 增加图书 删除图书 编辑图书 查找图书 显示图书

程序设计:

主框架设计:

主框架上方包含三个按钮,分别是“系统管理”、“图书信息管理”和“图书流通管理”,

定义JMenuBar类的对象、JMenu类的对象和JMenuItem类的对象,分别表示菜单栏、菜单组和菜单选项,然后调用初始化函数,将不同类的对象通过setText()函数设定不同的文本,然后将其添加到窗口容器中。对每个按钮分别添加不同的消息监听,响应相应的消息,调用不同的类完成不同的功能。消息监听功能详见源代码bookMain类。

图书信息管理模块包括增加图书,删除图书,编辑图书,查找图书和显示图书信息。具

体的方法实现在bookBean中实现,当用户点击相应的按钮时,消息监听模块就会调用bookBean的构造函数产生一个bookBean的对象,然后通过对象调用bookBean类中的相应方法,完成事件的相应。

增加图书信息模块:

调用bookAdd类的构造函数产生一个该类的对象,在初始化函数中显示信息输入对话

- 2 -

Java 语言程序设计 课程报告

框,提示用户输入图书ID,图书名称和图书所有者,由于刚增加的图书没有被借阅,所以图书状态和图书使用者为默认值,分别为空闲和null,因此用户不必输入这两个属性值。完成输入后,点击确定按钮,消息监听模块将调用bookBean的构造函数产生一个该类的对象,通过该对象调用bookBean的bookAdd函数,执行SQL语句,通过insert语句完成图书信息的增加插入功能。

删除图书信息模块:

调用bookDel类的构造函数产生一个该类的对象,在初始化函数中显示信息输入对话框,提示用户输入要删除图书的ID。完成输入后,点击确定按钮,消息监听模块将调用bookBean的构造函数产生一个该类的对象,通过该对象调用bookBean的bookDel函数,执行删除的SQL语句,通过delete语句完成图书信息的删除功能。

修改图书信息模块:

点击按钮后调用bookEdit类的构造函数产生一个该类的对象,在初始化函数中显示信息输入对话框,提示用户输入要修改图书的ID和其他图书信息,用户将信息输入完成后,点击确定按钮,消息监听模块将调用bookBean的构造函数产生一个该类的对象,通过该对象调用bookBean的bookEdit函数,执行修改的SQL语句,通过update语句完成图书信息的编辑功能。

查找图书信息模块:

点击按钮后调用bookSearch类的构造函数产生一个该类的对象,在初始化函数中显示信息输入对话框,提示用户输入要查找图书的ID,用户将信息输入完成后,点击确定按钮,消息监听模块将调用bookResult的构造函数产生一个该类的对象,通过该对象的构造函数,执行查找的SQL语句,通过select语句完成图书信息的查找功能,然后构造图标,将查询到的信息显示在图表中。

显示图书信息模块:

点击按钮后调用bookDisplay类的构造函数产生一个该类的对象,在该对象的构造函数中调用bookAllSearch函数,查询所有的图书信息,显示在表格中。

图书流通管理模块包含图书的借阅与归还功能,其实就是对数据库中的某一记录集的某

一属性进行修改。

图书借阅模块:

用户输入要借阅的图书名称和本人姓名,点击确定后,将调用bookBean的构造函数产

生一个对象,通过该对象调用bookBook函数,修改数据库中的信息,将图书状态属性变为

- 3 -

Java 语言程序设计 课程报告

已借,将图书用户属性变为用户姓名,完成图书的借阅功能。

图书归还模块:

用户输入要归还的图书名称,点击确定后,将调用bookBean的构造函数产生一个对象,

通过该对象调用bookReturn函数,修改数据库中的信息,把图书的状态置为空闲,将图书用户置为空,从而完成图书的归还功能。

备注:报告此部分未附源代码,详见程序源码部分。

运行截图:

图书信息增加:

- 4 -

Java 语言程序设计 课程报告

图书信息修改:

图书信息查询:

- 5 -

Java 语言程序设计 课程报告

图书信息删除:

图书信息显示:

- 6 -

Java 语言程序设计 课程报告

图书借阅:

图书归还:

- 7 -

Java 语言程序设计 课程报告

分析总结:

本程序在数据库设计方面可以改为多张表存储的方式,用三张表来记录图书信息,借阅

关系和学生信息,这样可以减少数据冗余,还可以增加一些其他功能,比如图书挂失等功能。由于刚刚接触到Java界面设计,所以本程序在界面设计方面还有有待改进的地方。

程序源码:

DatabaseConn.java package bookDB;

import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class DatabaseConn {

private Statement stmt = null; ResultSet rs = null;

private Connection conn = null; String sql;

public DatabaseConn(){ }

public void OpenConn() throws Exception { try{

Class.forName(\"sun.jdbc.odbc.JdbcOdbcDriver\");

conn = DriverManager.getConnection(\"jdbc:odbc:library\");

}catch (Exception e) {System.err.println(\"数据库连接:\"+e.getMessage());} }

public ResultSet executeQuery(String sql){ stmt = null; rs = null; try{ stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);

rs = stmt.executeQuery(sql); }catch (SQLException e){System.err.println(\"查询数据:\"+e.getMessage());} return rs; }

public void executeUpdate(String sql){ stmt = null; rs = null;

- 8 -

Java 语言程序设计 课程报告

try{ stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);

rs = stmt.executeQuery(sql); conn.commit(); }catch (SQLException e){System.err.println(\"更新数据:\"+e.getMessage());} }

public void closeStmt(){

try {stmt.close();}catch (SQLException e){

System.err.println(\"释放对象:\"+e.getMessage()); } }

public void closeConn(){

try {conn.close();}catch (SQLException ex){

System.err.println(\"释放对象:\"+ex.getMessage()); } }

public static String toGBK(String str){ try{

if(str == null) str = null; else

str = new String(str.getBytes(\"ISO-8859-1\"),\"GBK\"); }catch (Exception e){System.out.println(e);} return str; } }

package bookDB;

import java.awt.AWTEvent; import java.awt.BorderLayout; import java.awt.Container; import java.awt.Font;

import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent;

import javax.swing.JFrame; import javax.swing.JMenu;

- 9 -

Java 语言程序设计 课程报告

import javax.swing.JMenuBar; import javax.swing.JMenuItem;

bookMain.java

public class bookMain extends JFrame implements ActionListener{ private static final long serialVersionUID = 1L; //----------建立菜单栏---------- JMenuBar mainMenu = new JMenuBar();

//--------------建立系统管理菜单组-------------- JMenu menuSystem = new JMenu();

JMenuItem itemExit = new JMenuItem(); JMenu menubook = new JMenu(); JMenu menuevent = new JMenu();

JMenuItem itemAdd = new JMenuItem(); JMenuItem itemEdit = new JMenuItem(); JMenuItem itemDelete = new JMenuItem(); JMenuItem itemSelect = new JMenuItem(); JMenuItem itemBook = new JMenuItem(); JMenuItem itemReturn = new JMenuItem(); JMenuItem itemDisplay = new JMenuItem(); //------------创建窗体模板对象-------------- public static bookInfo m_stu = new bookInfo();

public bookMain(){

enableEvents(AWTEvent.WINDOW_EVENT_MASK);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.pack();

this.setSize(600,480);

this.setTitle(\"图书管理系统\"); try{

Init();

}catch (Exception e) {e.printStackTrace();} }

private void Init() throws Exception {

Container contentPane = this.getContentPane(); contentPane.setLayout(new BorderLayout()); //------添加菜单组-------

menuSystem.setText(\"系统操作\");

menuSystem.setFont(new Font(\"Dialog\ menubook.setText(\"图书信息管理\");

menubook.setFont(new Font(\"Dialog\ menuevent.setText(\"图书流通管理\");

menuevent.setFont(new Font(\"Dialog\

- 10 -

Java 语言程序设计 课程报告

//---------生成系统管理菜单组--------- itemExit.setText(\"退出\");

itemExit.setFont(new Font(\"Dialog\ //--------------生成学生菜单组---------------- itemAdd.setText(\"增加图书\");

itemAdd.setFont(new Font(\"Dialog\ itemEdit.setText(\"修改信息\");

itemEdit.setFont(new Font(\"Dialog\ itemDelete.setText(\"删除图书\");

itemDelete.setFont(new Font(\"Dialog\ itemSelect.setText(\"查询\");

itemSelect.setFont(new Font(\"Dialog\ itemDisplay.setText(\"显示全部信息\");

itemDisplay.setFont(new Font(\"Dialog\//--------------生成管理事务菜单组---------------- itemBook.setText(\"图书借阅\");

itemBook.setFont(new Font(\"Dialog\ itemReturn.setText(\"图书归还\");

itemReturn.setFont(new Font(\"Dialog\ menuSystem.add(itemExit); menubook.add(itemAdd); menubook.add(itemEdit); menubook.add(itemDelete); menubook.add(itemSelect); menubook.add(itemDisplay); menuevent.add(itemBook); menuevent.add(itemReturn); //----组合菜单栏---

mainMenu.add(menuSystem); mainMenu.add(menubook); mainMenu.add(menuevent); this.setJMenuBar(mainMenu); //添加事件监听

itemExit.addActionListener(this); itemAdd.addActionListener(this); itemEdit.addActionListener(this); itemDelete.addActionListener(this); itemSelect.addActionListener(this); itemBook.addActionListener(this); itemReturn.addActionListener(this); itemDisplay.addActionListener(this); setVisible(true);

this.addWindowListener(new WindowAdapter(){

public void windowClosing(WindowEvent e){System.exit(0);}

- 11 -

Java 语言程序设计 课程报告

}) ; }

public void actionPerformed(ActionEvent e){ Object obj = e.getSource();

if(obj == itemExit){System.exit(0);} else if(obj == itemAdd){

bookAdd asi = new bookAdd(); //asi.downInit(); asi.pack();

asi.setVisible(true); }else if(obj == itemEdit){

bookEdit esi = new bookEdit(); //esi.downInit(); esi.pack();

esi.setVisible(true); }else if(obj == itemDelete){ bookDel dsi = new bookDel(); //dsi.downInit(); dsi.pack();

dsi.setVisible(true); }else if(obj == itemSelect){

bookSearch sbid = new bookSearch(); sbid.pack();

sbid.setVisible(true); }else if(obj == itemBook){

bookBook sboo = new bookBook(); sboo.pack();

sboo.setVisible(true); }else if(obj == itemReturn){

bookReturn sre = new bookReturn(); sre.pack();

sre.setVisible(true); }else if(obj == itemDisplay){

bookDisplay sre = new bookDisplay(); sre.pack();

sre.setVisible(true); } }

public static void main(String[] args){new bookMain();} }

- 12 -

Java 语言程序设计 课程报告

bookAdd.java package bookDB;

import java.awt.*;

import java.awt.event.*; import javax.swing.*;

public class bookAdd extends JFrame implements ActionListener{ Container c;

JLabel jLabel1 = new JLabel(); JLabel jLabel2 = new JLabel(); JLabel jLabel3 = new JLabel(); JLabel jLabel4 = new JLabel(); JLabel jLabel5 = new JLabel();

JTextField sid = new JTextField(10); JTextField sname = new JTextField(10); JTextField sowner = new JTextField(10); JTextField sstatus = new JTextField(10); JTextField suser = new JTextField(10); JButton addconfirm = new JButton();

public bookAdd(){

this.setTitle(\"增加图书信息\"); this.setResizable(false);

try{Init();}catch (Exception e){e.printStackTrace();} //设置居中

Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); this.setLocation((int)(screenSize.width - 400)/2,(int)(screenSize.height - 300)/2 +45); }

public void Init() throws Exception{ this.setSize(300,500); c = this.getContentPane(); c.setLayout(new FlowLayout()); jLabel1.setText(\"图书ID: \");

jLabel1.setFont(new Font(\"Dialog\ c.add(jLabel1); sid.setText(null);

sid.setFont(new Font(\"Dialog\ c.add(sid);

jLabel2.setText(\"图书名称: \");

jLabel2.setFont(new Font(\"Dialog\

- 13 -

Java 语言程序设计 课程报告

c.add(jLabel2);

sname.setText(null);

sname.setFont(new Font(\"Dialog\ c.add(sname);

jLabel3.setText(\"图书所有者: \");

jLabel3.setFont(new Font(\"Dialog\ c.add(jLabel3);

sowner.setText(null);

sowner.setFont(new Font(\"Dialog\ c.add(sowner);

addconfirm.setText(\"确认增加\");

addconfirm.setFont(new Font(\"Dialog\ c.add(addconfirm);

addconfirm.addActionListener(this); }

public void actionPerformed(ActionEvent e){ Object obj = e.getSource(); if(obj == addconfirm){

bookBean rs = new bookBean();

rs.bookAdd(sid.getText(),sname.getText(),sowner.getText()); this.dispose(); } } }

bookInfo.java package bookDB;

public class bookInfo { String m_book_id; String m_book_name; String m_book_owner; String m_book_status; String m_book_user; }

bookEdit.java package bookDB;

import java.awt.*;

import java.awt.event.*;

- 14 -

Java 语言程序设计 课程报告

import javax.swing.*;

public class bookEdit extends JFrame implements ActionListener{ Container c;

JLabel jLabel1 = new JLabel(); JLabel jLabel2 = new JLabel(); JLabel jLabel3 = new JLabel(); JLabel jLabel4 = new JLabel(); JLabel jLabel5 = new JLabel();

JTextField sid = new JTextField(10); JTextField sname = new JTextField(10); JTextField sowner = new JTextField(10); JTextField sstatus = new JTextField(10); JTextField suser = new JTextField(10); JButton editconfirm = new JButton();

public bookEdit(){

this.setTitle(\"修改图书信息\"); this.setResizable(false);

try{Init();}catch (Exception e){e.printStackTrace();} //设置居中

Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); this.setLocation((int)(screenSize.width - 400)/2,(int)(screenSize.height - 300)/2 +45); }

public void Init() throws Exception{ this.setSize(300,500); c = this.getContentPane(); c.setLayout(new FlowLayout());

jLabel1.setText(\"要修改的图书ID: \");

jLabel1.setFont(new Font(\"Dialog\ c.add(jLabel1); sid.setText(null);

sid.setFont(new Font(\"Dialog\ c.add(sid);

jLabel2.setText(\"图书名称: \");

jLabel2.setFont(new Font(\"Dialog\ c.add(jLabel2);

sname.setText(null);

sname.setFont(new Font(\"Dialog\ c.add(sname);

- 15 -

Java 语言程序设计 课程报告

jLabel3.setText(\"图书所有者: \");

jLabel3.setFont(new Font(\"Dialog\ c.add(jLabel3);

sowner.setText(null);

sowner.setFont(new Font(\"Dialog\ c.add(sowner);

editconfirm.setText(\"确认修改\");

editconfirm.setFont(new Font(\"Dialog\ c.add(editconfirm);

editconfirm.addActionListener(this); }

public void actionPerformed(ActionEvent e){ Object obj = e.getSource(); if(obj == editconfirm){

bookBean rs = new bookBean();

rs.bookModify(sid.getText(),sname.getText(),sowner.getText()); this.dispose(); } } }

bookDel.java package bookDB;

import java.awt.*;

import java.awt.event.*; import javax.swing.*;

public class bookDel extends JFrame implements ActionListener{ Container c;

JLabel jLabel1 = new JLabel();

JTextField sid = new JTextField(10); JButton delconfirm = new JButton();

public bookDel(){

this.setTitle(\"删除图书信息\"); this.setResizable(false);

try{Init();}catch (Exception e){e.printStackTrace();} //设置居中

Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); this.setLocation((int)(screenSize.width - 400)/2,(int)(screenSize.height - 300)/2 +45);

- 16 -

Java 语言程序设计 课程报告

}

public void Init() throws Exception{ this.setSize(300,500); c = this.getContentPane(); c.setLayout(new FlowLayout());

jLabel1.setText(\"要删除的图书ID: \");

jLabel1.setFont(new Font(\"Dialog\ c.add(jLabel1); sid.setText(null);

sid.setFont(new Font(\"Dialog\ c.add(sid);

delconfirm.setText(\"确认删除\");

delconfirm.setFont(new Font(\"Dialog\ c.add(delconfirm);

delconfirm.addActionListener(this); }

public void actionPerformed(ActionEvent e){ Object obj = e.getSource(); if(obj == delconfirm){

bookBean rs = new bookBean(); rs.bookDel(sid.getText()); this.dispose(); } } }

bookDisplay.java package bookDB; import java.awt.*; import javax.swing.*;

public class bookDisplay extends JFrame{ JLabel jLabel1 = new JLabel(); JButton jBExit = new JButton(); JScrollPane jScrollPane1; JTable jTabstuInfo; String sNum;

String[] 列名 = {\"图书ID\图书名\图书所有者\图书状态\使用者\ String [][] 列值; String sColValue; String sColName; String sFromValue;

- 17 -

Java 语言程序设计 课程报告

String sToValue;

public bookDisplay(){

this.setTitle(\"学生信息查询结果\"); //--------设置运行位置居中---------

Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); this.setLocation((int)(screenSize.width - 400)/2,(int)(screenSize.height - 300)/2 +45);

bookBean rstu = new bookBean(); try{

列值 = rstu.bookAllSearch(); if(列值 == null){

JOptionPane.showMessageDialog(null, \"没有符合条件的记录\"); this.dispose(); }else{

jTabstuInfo = new JTable(列值,列名);

jScrollPane1 = new JScrollPane(jTabstuInfo);

this.getContentPane().add(jScrollPane1,BorderLayout.CENTER); this.pack();

this.setVisible(true); }

}catch (Exception e) {e.printStackTrace();} } }

bookBook.java package bookDB;

import java.awt.*;

import java.awt.event.*; import javax.swing.*;

public class bookBook extends JFrame implements ActionListener{ Container c;

JLabel jLabel1 = new JLabel(); JLabel jLabel2 = new JLabel();

JTextField sname = new JTextField(10); JTextField suser = new JTextField(10); JButton bookconfirm = new JButton();

public bookBook(){

this.setTitle(\"借阅图书\");

- 18 -

Java 语言程序设计 课程报告

this.setResizable(false);

try{Init();}catch (Exception e){e.printStackTrace();} //设置居中

Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); this.setLocation((int)(screenSize.width - 400)/2,(int)(screenSize.height - 300)/2 +45); }

public void Init() throws Exception{ this.setSize(300,500); c = this.getContentPane(); c.setLayout(new FlowLayout()); jLabel1.setText(\"借阅图书名称: \");

jLabel1.setFont(new Font(\"Dialog\ c.add(jLabel1);

sname.setText(null);

sname.setFont(new Font(\"Dialog\ c.add(sname);

jLabel2.setText(\"借阅者姓名: \");

jLabel2.setFont(new Font(\"Dialog\ c.add(jLabel2);

suser.setText(null);

suser.setFont(new Font(\"Dialog\ c.add(suser);

bookconfirm.setText(\"确定\");

bookconfirm.setFont(new Font(\"Dialog\ c.add(bookconfirm);

bookconfirm.addActionListener(this); }

public void actionPerformed(ActionEvent e){ Object obj = e.getSource(); if(obj == bookconfirm){

bookBean rs = new bookBean();

rs.bookBook(sname.getText(),suser.getText()); this.dispose(); } } }

bookReturn.java package bookDB;

- 19 -

Java 语言程序设计 课程报告

import java.awt.*;

import java.awt.event.*; import javax.swing.*;

public class bookReturn extends JFrame implements ActionListener{ Container c;

JLabel jLabel1 = new JLabel();

JTextField sname = new JTextField(10); JButton reconfirm = new JButton();

public bookReturn(){

this.setTitle(\"归还图书\"); this.setResizable(false);

try{Init();}catch (Exception e){e.printStackTrace();} //设置居中

Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); this.setLocation((int)(screenSize.width - 400)/2,(int)(screenSize.height - 300)/2 +45); }

public void Init() throws Exception{ this.setSize(300,500); c = this.getContentPane(); c.setLayout(new FlowLayout()); jLabel1.setText(\"归还图书名称: \");

jLabel1.setFont(new Font(\"Dialog\ c.add(jLabel1);

sname.setText(null);

sname.setFont(new Font(\"Dialog\ c.add(sname);

reconfirm.setText(\"确定\");

reconfirm.setFont(new Font(\"Dialog\ c.add(reconfirm);

reconfirm.addActionListener(this); }

public void actionPerformed(ActionEvent e){ Object obj = e.getSource(); if(obj == reconfirm){

bookBean rs = new bookBean(); rs.bookReturn(sname.getText()); this.dispose(); }

- 20 -

Java 语言程序设计 课程报告

} }

bookSearch.java package bookDB;

import java.awt.*;

import java.awt.event.*; import javax.*;

public class bookSearch extends JFrame implements ActionListener{ Container c;

JLabel jLabel1 = new JLabel();

JTextField sFrom = new JTextField(4); JButton confirm = new JButton();

public bookSearch(){

this.setTitle(\"按图书ID查询\"); this.setResizable(false);

try{Init();}catch (Exception e){e.printStackTrace();} //设置居中

Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); this.setLocation((int)(screenSize.width - 400)/2,(int)(screenSize.height - 300)/2 +45); }

public void Init() throws Exception{ this.setSize(300,500); c = this.getContentPane(); c.setLayout(new FlowLayout());

jLabel1.setText(\"请输入图书ID: \");

jLabel1.setFont(new Font(\"Dialog\ c.add(jLabel1);

sFrom.setText(null);

sFrom.setFont(new Font(\"Dialog\ c.add(sFrom);

confirm.setText(\"确定\");

confirm.setFont(new Font(\"Dialog\ c.add(confirm);

confirm.addActionListener(this); }

public void actionPerformed(ActionEvent e){ Object obj = e.getSource();

- 21 -

Java 语言程序设计 课程报告

if(obj == confirm){

Resultbook rs = new Resultbook(\"book_id\ this.dispose(); } } }

Resultbook.java package bookDB;

import java.awt.*;

import java.awt.event.*; import javax.swing.*;

public class Resultbook extends JFrame{ JLabel jLabel1 = new JLabel(); JButton jBExit = new JButton(); JScrollPane jScrollPane1; JTable jTabstuInfo; String sNum;

String[] 列名 = {\"图书ID\图书名\图书所有者\图书状态\使用者\ String [][] 列值; String sColValue; String sColName; String sFromValue; String sToValue;

public Resultbook(String colname,String colvalue){ this.sColValue = colvalue; this.sColName = colname;

this.setTitle(\"图书信息查询结果\"); //--------设置运行位置居中---------

Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); this.setLocation((int)(screenSize.width - 400)/2,(int)(screenSize.height - 300)/2 +45);

bookBean rstu = new bookBean(); try{

列值 = rstu.bookSearch( sColValue); if(列值 == null){

JOptionPane.showMessageDialog(null, \"没有符合条件的记录\"); this.dispose(); }else{

jTabstuInfo = new JTable(列值,列名);

- 22 -

Java 语言程序设计 课程报告

jScrollPane1 = new JScrollPane(jTabstuInfo);

this.getContentPane().add(jScrollPane1,BorderLayout.CENTER); this.pack();

this.setVisible(true); }

}catch (Exception e) {e.printStackTrace();} } }

bookBean.java package bookDB;

import java.sql.ResultSet;

import javax.swing.JOptionPane; import bookDB.DatabaseConn;

public class bookBean { String sql;

ResultSet rs = null;

String sid; String sname; String sowner; String sstatus; String suser;

String colName; String colValue;

//-----------------添加图书信息------------------

public void bookAdd(String id,String name,String owner){ DatabaseConn DB = new DatabaseConn(); this.sid = id; this.sname = name; this.sowner = owner; this.sstatus = \"空闲\"; this.suser = null; if(sid.equals(\"\")){

JOptionPane.showMessageDialog(null,\"请输入图书\ return; } else{ sql = \"insert - 23 -

ID\错误into

Java 语言程序设计 课程报告

book(book_id,book_name,book_owner,book_status,book_user)

values('\"+sid+\"','\"+sname+\"','\"+sowner+\"','\"+sstatus+\"','\"+suser+\"')\"; try{DB.OpenConn();

DB.executeUpdate(sql);

JOptionPane.showMessageDialog(null,\"成功添加一条记录!\"); }catch (Exception e){

System.out.println(e);

JOptionPane.showMessageDialog(null,\"保存失败!\错误\

}finally {DB.closeStmt();DB.closeConn();} } }

//-----------------修改图书信息------------------

public void bookModify(String id,String name,String owner){ DatabaseConn DB = new DatabaseConn(); this.sid = id; this.sname = name; this.sowner = owner; if(sid.equals(\"\")){

JOptionPane.showMessageDialog(null,\"请输入图书ID\错误\ return; } else{

sql = \"update book set book_name='\"+sname+\"',book_owner='\"+sowner+\"' where book_id= \"+sid+\"\";

try{DB.OpenConn();

DB.executeUpdate(sql);

JOptionPane.showMessageDialog(null,\"成功修改一条记录!\"); }catch (Exception e){

System.out.println(e);

JOptionPane.showMessageDialog(null,\"更新失败!\错误\

}finally {DB.closeStmt();DB.closeConn();} } }

//-----------------删除图书信息------------------ public void bookDel(String id){

DatabaseConn DB = new DatabaseConn(); this.sid = id;

sql = \"delete from book where book_id = \"+id+\"\"; try{DB.OpenConn();

DB.executeUpdate(sql);

JOptionPane.showMessageDialog(null,\"成功删除一条记录!\");

- 24 -

Java 语言程序设计 课程报告

}catch (Exception e){

System.out.println(e);

JOptionPane.showMessageDialog(null,\"删除失败!\错误\

}finally {DB.closeStmt();DB.closeConn();} }

//------------根据指定ID查询图书信息------------------ public String [][]bookSearch(String id){ this.colValue = id;

DatabaseConn DB = new DatabaseConn(); String [][] sn = null; int row = 0; int i = 0;

sql = \"select * from book where book_id=\"+colValue+\"\"; try{

DB.OpenConn();

rs = DB.executeQuery(sql);

if(rs.last()){ row = rs.getRow(); }

if(row == 0) {sn = null;} else

{ sn = new String[row][5]; rs.first(); rs.previous(); while(rs.next())

{ sn[i][0] = rs.getString(\"book_id\"); sn[i][1] = rs.getString(\"book_name\"); sn[i][2] = rs.getString(\"book_owner\"); sn[i][3] = rs.getString(\"book_status\"); sn[i][4] = rs.getString(\"book_user\"); i++; } }

}catch (Exception e) {} finally {DB.closeStmt();DB.closeConn();} return sn; }

//-----------------借阅图书------------------ public void bookBook(String name,String user){ DatabaseConn DB = new DatabaseConn(); this.sname = name; this.suser = user; String temp =\"已借\";

- 25 -

Java 语言程序设计 课程报告

if(sname.equals(\"\")){

JOptionPane.showMessageDialog(null,\"请输入图书名称\错误\ return; } else{ sql = \"update book set book_status='\"+temp+\"',book_user='\"+suser+\"' where book_name= '\"+sname+\"'\"; try{DB.OpenConn();

DB.executeUpdate(sql);

JOptionPane.showMessageDialog(null,\"成功借阅!\"); }catch (Exception e){

System.out.println(e);

JOptionPane.showMessageDialog(null,\"借阅失败!\错误\

}finally {DB.closeStmt();DB.closeConn();} } }

//-----------------归还图书------------------ public void bookReturn(String name){

DatabaseConn DB = new DatabaseConn(); this.sname = name; String temp =\"空闲\"; String temp2 =null; if(sname.equals(\"\")){

JOptionPane.showMessageDialog(null,\"请输入图书名称\错误\ return; } else{ sql = \"update book set book_status='\"+temp+\"',book_user='\"+temp2+\"' where book_name= '\"+sname+\"'\"; try{DB.OpenConn();

DB.executeUpdate(sql);

JOptionPane.showMessageDialog(null,\"成功归还!\"); }catch (Exception e){

System.out.println(e);

JOptionPane.showMessageDialog(null,\"归还失败!\错误\

}finally {DB.closeStmt();DB.closeConn();} } }

//------------显示全部图书信息------------- public String [][]bookAllSearch(){

- 26 -

Java 语言程序设计 课程报告

}

}

DatabaseConn DB = new DatabaseConn(); String [][] sn = null; int row = 0; int i = 0;

sql = \"select *from book\"; try{

DB.OpenConn();

rs = DB.executeQuery(sql);

if(rs.last()){row = rs.getRow(); }

if(row == 0) {sn = null;} else

{ sn = new String[row][6]; rs.first(); rs.previous(); while(rs.next())

{ sn[i][0] = rs.getString(\"book_id\"); sn[i][1] = rs.getString(\"book_name\"); sn[i][2] = rs.getString(\"book_owner\"); sn[i][3] = rs.getString(\"book_status\"); sn[i][4] = rs.getString(\"book_user\"); i++; } }

}catch (Exception e) {} finally {DB.closeStmt();DB.closeConn();} return sn;

- 27 -

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- gamedaodao.com 版权所有 湘ICP备2022005869号-6

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务