1、声明:本系统是基于C/S旳图书管理系统,重要使用旳是Oracle数据库,下面附所有实现代码 package library; import java.awt.BorderLayout; import java.awt.Container; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.sql.ResultSet; import javax.swing.JButton; import javax.
2、swing.JComboBox; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JTextField; public class book_add extends JFrame implements ActionListener{ DataBaseManager db=new DataBaseManager(); ResultSet rs; JPanel
3、panel1,panel2; JLabel book_id_label,book_name_label,author_label, press_label,press_date_label,price_label,book_num_label,borrowed_num_label,address; JTextField book_id_TextField,book_name_TextField,author_TextField, press_TextField,press_date_TextField,price_TextField,book_num_TextField,
4、borrowed_count; JComboBox addresst; Container c; JButton clear,add,exit; public book_add() { super("添加图书信息"); c=getContentPane(); c.setLayout(new BorderLayout()); book_id_label=new JLabel("编号",JLabel.CENTER); book_name_label=new JLabel("名称",JLabel.CENTER); author_label=ne
5、w JLabel("作者",JLabel.CENTER); press_label=new JLabel("出版社",JLabel.CENTER); press_date_label=new JLabel("出版日期",JLabel.CENTER); price_label=new JLabel("价格",JLabel.CENTER); book_num_label=new JLabel("库存数",JLabel.CENTER); borrowed_num_label=new JLabel("已借阅数",JLabel.CENTER); address=new
6、 JLabel("藏书地址",JLabel.CENTER); book_id_TextField=new JTextField(15); book_name_TextField=new JTextField(15); author_TextField=new JTextField(15); press_TextField=new JTextField(15); press_date_TextField=new JTextField(15); price_TextField=new JTextField(15); book_num_Text
7、Field=new JTextField(15); borrowed_count=new JTextField(15); borrowed_count.setText("0"); addresst=new JComboBox(); addresst.addItem("扬子津图书馆"); addresst.addItem("荷花池图书馆"); addresst.addItem("瘦西湖图书馆"); addresst.addItem("淮海路图书馆"); panel1=new JPanel(); panel1.setLayou
8、t(new GridLayout(9,2)); panel1.add(book_id_label); panel1.add(book_id_TextField); panel1.add(book_name_label); panel1.add(book_name_TextField); panel1.add(press_label); panel1.add(press_TextField); panel1.add(author_label); panel1.add(author_TextField); panel1.ad
9、d(press_date_label); panel1.add(press_date_TextField); panel1.add(price_label); panel1.add(price_TextField); panel1.add(book_num_label); panel1.add(book_num_TextField); panel1.add(borrowed_num_label); panel1.add(borrowed_count); panel1.add(address); panel1.add(add
10、resst); panel2=new JPanel(); panel2.setLayout(new GridLayout(1,3)); clear=new JButton("清空"); clear.addActionListener(this); add=new JButton("添加"); add.addActionListener(this); exit=new JButton("退出"); exit.addActionListener(this); panel2.add(clear); panel2.add(
11、add); panel2.add(exit); c.add(panel1,BorderLayout.CENTER); c.add(panel2,BorderLayout.SOUTH); setVisible(true); } public void actionPerformed(ActionEvent e) { if(e.getSource()==exit) { this.dispose(); } else if(e.getSource()==clear) { book_id_TextField.set
12、Text(""); book_name_TextField.setText(""); author_TextField.setText(""); press_TextField.setText(""); press_date_TextField.setText(""); price_TextField.setText(""); book_num_TextField.setText(""); } else if(e.getSource()==add) { if(book_id_TextField.getText(
13、).trim().equals("")) { JOptionPane.showMessageDialog(null, "书号不能为空"); } else if(book_name_TextField.getText().trim().equals("")) { JOptionPane.showMessageDialog(null, "书名不能为空"); } else if(author_TextField.getText().trim().equals("")) { JOptionPane.showMessa
14、geDialog(null, "作者不能为空"); } else if(press_TextField.getText().trim().equals("")) { JOptionPane.showMessageDialog(null, "出版社不能为空"); } else if(press_date_TextField.getText().trim().equals("")) { JOptionPane.showMessageDialog(null, "出版日期不能为空"); } else if(price_
15、TextField.getText().trim().equals("")) { JOptionPane.showMessageDialog(null, "价格不能为空"); } else if(book_num_TextField.getText().trim().equals("")) { JOptionPane.showMessageDialog(null, "库存不能为空"); } else if(borrowed_count.getText().trim().equals("")) { JOptio
16、nPane.showMessageDialog(null, "借阅数不能为空"); } else { try{ String strSQL="insert into book(book_id,book_name,press,author,press_date,price,book_count,borrowed_count,store_address) values('" +book_id_TextField.getText().trim() +"','" +book_name_TextF
17、ield.getText().trim() +"','" +press_TextField.getText().trim() +"','" +author_TextField.getText().trim() +"','" +press_date_TextField.getText().trim() +"','" +price_TextField.getText().trim() +"','" +
18、book_num_TextField.getText().trim() +"','" +borrowed_count.getText().trim() +"','" +addresst.getSelectedItem()+"')"; if(db.updateSql(strSQL)) { this.dispose(); JOptionPane.showMessageDialog(null,"添加图书成功"); }
19、 else { JOptionPane.showMessageDialog(null,"添加图书失败"); this.dispose(); } db.closeConnection(); }catch(Exception ex) { System.out.println(ex.toString()); } } } } } package library; import javax.s
20、wing.*; import java.awt.*; import java.awt.event.*; import java.sql.ResultSet; import java.sql.SQLException; public class book_delete extends JFrame implements ActionListener{ DataBaseManager db=new DataBaseManager(); ResultSet rs; Container c; JLabel TipLabel=new JLabel("请选择要删除旳书名",J
21、Label.CENTER); JComboBox bb=new JComboBox(); JButton yes,exit; JPanel panel1=new JPanel(); public book_delete() { super("删除图书信息"); c=getContentPane(); c.setLayout(new BorderLayout()); try{ String strSQL="select book_name from book where book_count>borrowed_count";
22、rs=db.getResult(strSQL); while(rs.next()) { bb.addItem(rs.getString(1)); } }catch(SQLException sqle){ System.out.println(sqle.toString()); }catch(Exception ex){ System.out.println(ex.toString()); } c.add(TipLabel,BorderLayout.NORTH); c.add(bb,Bor
23、derLayout.CENTER); yes=new JButton("拟定"); exit=new JButton("退出"); yes.addActionListener(this); exit.addActionListener(this); panel1.add(yes); panel1.add(exit); c.add(panel1,BorderLayout.SOUTH); setVisible(true); } public void actionPerformed(ActionEvent e) { if(e.get
24、Source()==exit) { this.dispose(); } else if(e.getSource()==yes) { try{ String strSQL="select borrowed_count from book where book_name='" +bb.getSelectedItem()+"'"; rs=db.getResult(strSQL); if(!rs.first()) { JOptionPane.showMessageDialog(null,"书库里没
25、有你要删除旳书"); } else { String strSql="delete from book where book_name='" +bb.getSelectedItem() +"'and borrowed_count=0"; rs.first(); int count=rs.getInt(1); if(!(count==0)) { JOptionPane.showMessageDialog(null,"此书尚有学生没有还,不可删除");
26、 } else if(db.updateSql(strSql)) { JOptionPane.showMessageDialog(null,"删除成功"); db.closeConnection(); this.dispose(); } else{ JOptionPane.showMessageDialog(null,"删除失败"); db.closeConnection(); this.dispose(); } } }
27、catch(SQLException sqle){ System.out.println(sqle.toString()); }catch(Exception ex){ System.out.println(ex.toString()); } } } } package library; import java.awt.BorderLayout; import java.awt.Container; import java.awt.GridLayout; import java.awt.event.ActionEvent;
28、 import java.awt.event.ActionListener; import java.sql.ResultSet; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JTextField; public class book_modify extends JFrame implements A
29、ctionListener{ DataBaseManager db=new DataBaseManager(); ResultSet rs; JPanel panel1,panel2,panel3; JLabel TipLabel=new JLabel("输入书名点拟定 ,将调出此书旳有关信息"); JLabel book_name_label,author_label, press_label,press_date_label,price_label; JTextField book_name_TextField,author_TextField, press
30、TextField,press_date_TextField,price_TextField; Container c; JButton clear,yes,update,exit; public book_modify() { super("修改图书信息"); c=getContentPane(); c.setLayout(new BorderLayout()); panel3=new JPanel(); panel3.add(TipLabel); c.add(panel3,BorderLayout.NORTH); book_nam
31、e_label=new JLabel("名称",JLabel.CENTER); author_label=new JLabel("作者",JLabel.CENTER); press_label=new JLabel("出版社",JLabel.CENTER); press_date_label=new JLabel("出版日期",JLabel.CENTER); price_label=new JLabel("价格",JLabel.CENTER); book_name_TextField=new JTextField(15); author_TextFiel
32、d=new JTextField(15); press_TextField=new JTextField(15); press_date_TextField=new JTextField(15); price_TextField=new JTextField(15); panel1=new JPanel(); panel1.setLayout(new GridLayout(6,2)); panel1.add(book_name_label); panel1.add(book_name_TextField); panel1.add(
33、author_label); panel1.add(author_TextField); panel1.add(press_label); panel1.add(press_TextField); panel1.add(press_date_label); panel1.add(press_date_TextField); panel1.add(price_label); panel1.add(price_TextField); panel2=new JPanel(); panel2.setLayout(new Grid
34、Layout(1,4)); clear=new JButton("清空"); yes=new JButton("拟定"); update=new JButton("更新"); exit=new JButton("退出"); panel2.add(clear); panel2.add(yes); panel2.add(update); panel2.add(exit); clear.addActionListener(this); yes.addActionListener(this); update.add
35、ActionListener(this); exit.addActionListener(this); update.setEnabled(false); c.add(panel1,BorderLayout.CENTER); c.add(panel2,BorderLayout.SOUTH); setVisible(true); } public void actionPerformed(ActionEvent e) { if(e.getSource()==exit) { this.dispose();; }
36、 else if(e.getSource()==clear) { book_name_TextField.setText(""); author_TextField.setText(""); press_TextField.setText(""); press_date_TextField.setText(""); price_TextField.setText(""); } else if(e.getSource()==yes) { try{ String strSQL="select * from
37、book where book_name='" +book_name_TextField.getText().trim()+"'"; rs=db.getResult(strSQL); while(rs.next()){ book_name_TextField.setText(rs.getString("book_name")); author_TextField.setText(rs.getString("author")); press_TextField.setText(rs.getString("press"));
38、 press_date_TextField.setText(rs.getString("press_date")); price_TextField.setText(rs.getString("price")); } update.setEnabled(true); }catch(NullPointerException upe){ System.out.println(upe.toString()); }catch(Exception es){ System.out.println(es.toString());
39、 } } else if(e.getSource()==update) { try{ String strSQL="update book set book_name='" +book_name_TextField.getText().trim()+"',press='" +press_TextField.getText().trim()+"',author='" +author_TextField.getText().trim()+"',press_date='" +press_date_Text
40、Field.getText().trim()+"',price='" +price_TextField.getText().trim()+"' where book_name='"+book_name_TextField.getText().trim()+"'"; if(db.updateSql(strSQL)) { this.dispose(); JOptionPane.showMessageDialog(null,"更新图书成功"); } else { JOptionPane.showMe
41、ssageDialog(null,"更新图书失败"); } db.closeConnection(); }catch(Exception sqle){ System.out.println(sqle.toString()); } } } } package library; import java.awt.BorderLayout; import java.awt.Container; import java.awt.GridLayout; import java.awt.event.ActionEvent; imp
42、ort java.awt.event.ActionListener; import java.sql.ResultSet; import java.sql.SQLException; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import javax.swing.JButton; import javax.swing.JComboBox; import javax.swing.JFrame
43、 import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JTextField; public class bookborrow extends JFrame implements ActionListener{ DataBaseManager db=new DataBaseManager(); ResultSet rs; Container c; JPanel panel1,panel2; JLabel bo
44、rrowname,bookname,borrowdate,returndate,is_return_label; JTextField borrowdateField,returndateField,is_return; JButton clear,yes,cancel; JComboBox borrownameBox=new JComboBox(); JComboBox booknameBox=new JComboBox(); public bookborrow() { super("书籍出借"); c=getContentPane(); c.
45、setLayout(new BorderLayout()); Calendar cal = Calendar.getInstance(); int year,month,day; // year=cal.get(Calendar.YEAR); // month=cal.get(Calendar.MONTH)+3;//从0开始旳 // day=cal.get(Calendar.DAY_OF_MONTH); // java.text.SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
46、 // String cdate = sdf.format(cal.getTime()); // String da=Integer.toString(year)+"-0"+Integer.toString(month)+"-"+Integer.toString(day); borrowname=new JLabel("借阅者姓名",JLabel.CENTER); bookname=new JLabel("书名",JLabel.CENTER); borrowdate=new JLabel("借书日期",JLabel.CENTER);
47、 // returndate=new JLabel("应还日期",JLabel.CENTER); is_return_label=new JLabel("与否归还",JLabel.CENTER); borrowdateField=new JTextField(15); // borrowdateField.setText(cdate); // returndateField=new JTextField(15); // returndateField.setText(da); is_return=new JTextField
48、15); is_return.setText("否"); try{ String strSql="select student_name from reader "; rs=db.getResult(strSql); while(rs.next()) { borrownameBox.addItem(rs.getString(1)); } }catch(SQLException sqle){ System.out.println(sqle.toString()); }cat
49、ch(Exception ex){ System.out.println(ex.toString()); } try{ String strSQL="select book_name from book where book_count>borrowed_count"; rs=db.getResult(strSQL); while(rs.next()) { booknameBox.addItem(rs.getString(1)); } }catch(SQLException sqle){ S
50、ystem.out.println(sqle.toString()); }catch(Exception ex){ System.out.println(ex.toString()); } panel1=new JPanel(); panel1.setLayout(new GridLayout(5,2)); panel1.add(borrowname); panel1.add(borrownameBox); panel1.add(bookname); panel1.add(booknameBox); panel1.ad






