




已阅读5页,还剩59页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
声明:本系统是基于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.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 ActionListenerDataBaseManager db=new DataBaseManager();ResultSet rs;JPanel 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,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=new 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 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_TextField=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.setLayout(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.add(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(addresst); 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(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.setText();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().trim().equals()JOptionPane.showMessageDialog(null, 书号不能为空);else if(book_name_TextField.getText().trim().equals()JOptionPane.showMessageDialog(null, 书名不能为空);else if(author_TextField.getText().trim().equals()JOptionPane.showMessageDialog(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_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()JOptionPane.showMessageDialog(null, 借阅数不能为空);else tryString 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_TextField.getText().trim()+,+press_TextField.getText().trim()+,+author_TextField.getText().trim()+,+press_date_TextField.getText().trim()+,+price_TextField.getText().trim()+,+book_num_TextField.getText().trim()+,+borrowed_count.getText().trim()+,+addresst.getSelectedItem()+);if(db.updateSql(strSQL)this.dispose();JOptionPane.showMessageDialog(null,添加图书成功);elseJOptionPane.showMessageDialog(null,添加图书失败);this.dispose();db.closeConnection();catch(Exception ex)System.out.println(ex.toString();package library;import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.sql.ResultSet;import java.sql.SQLException;public class book_delete extends JFrame implements ActionListenerDataBaseManager db=new DataBaseManager();ResultSet rs;Container c;JLabel TipLabel=new JLabel(请选择要删除的书名,JLabel.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_countborrowed_count; 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,BorderLayout.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.getSource()=exit)this.dispose();else if(e.getSource()=yes)tryString strSQL=select borrowed_count from book where book_name=+bb.getSelectedItem()+;rs=db.getResult(strSQL);if(!rs.first()JOptionPane.showMessageDialog(null,书库里没有你要删除的书);elseString 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,此书还有学生没有还,不可删除);else if(db.updateSql(strSql)JOptionPane.showMessageDialog(null,删除成功);db.closeConnection();this.dispose();elseJOptionPane.showMessageDialog(null,删除失败);db.closeConnection();this.dispose();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;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 ActionListenerDataBaseManager 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_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_name_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_TextField=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(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 GridLayout(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.addActionListener(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();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)tryString strSQL=select * from 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);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();else if(e.getSource()=update)tryString 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_TextField.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.showMessageDialog(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;import 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;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JTextField;public class bookborrow extends JFrame implements ActionListenerDataBaseManager db=new DataBaseManager();ResultSet rs;Container c;JPanel panel1,panel2;JLabel borrowname,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.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); / 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);/ 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(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();catch(Exception ex)System.out.println(ex.toString(); try String strSQL=select book_name from book where book_countborrowed_count; rs=db.getResult(strSQL); while(rs.next() booknameBox.addItem(rs.getString(1); catch(SQLException sqle)System.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.add(borrowdate); panel1.add(borrowdateField);/ panel1.add(returndate);/ panel1.add(returndateField); panel1.add(is_return_label); panel1.add(is_return); c.add(panel1,BorderLayout.CENTER); panel2=new JPanel(); panel2.setLayout(new GridLayout(1,3); clear=new JButton(清空); yes=new JButton(确定); cancel=new JButton(取消); clear.addActionListener(this); yes.addActionListener(this); cancel.addActionListener(this); panel2.add(clear); panel2.add(yes); panel2.add(cancel); c.add(panel2,BorderLayout.SOUTH); setVisible(true); setSize(300,300);public void actionPerformed(ActionEvent e)if(e.getSource()=cancel)this.dispose();else if(e.getSource()=clear)borrowdateField.setText();/returndateField.setText();is_return.setText();else if(e.getSource()=yes)if(borrownameBox.getSelectedItem().equals()JOptionPane.showMessageDialog(null, 对不起,没有读者借阅);else if(booknameBox.getSelectedItem().equals()JOptionPane.showMessageDialog(null, 对不起,现在书库没有书);else try/系统计算归还日期/获取输入的借阅日期,自动加两个月String startDate=borrowdateField.getText().trim();SimpleDateFormat format=new SimpleDateFormat(yyyy-MM-dd);Date dateStart=format.parse(startDate);Calendar cd=Calendar.getInstance();cd.setTime(dateStart);cd.add(Calendar.MONTH, 2);String returnDate=format.format(cd.getTime();String strSQL=insert into borrow(student_name,book_name,borrow_date,return_date,is_returned) values(+borrownameBox.getSelectedItem()+,+booknameBox.getSelectedItem()+,+borrowdateField.getText().trim()+,+returnDate+,+is_return.getText().trim()+);if(db.updateSql(strSQL)JOptionPane.showMessageDialog(null, 借阅完成);strSQL = update reader set borrow_count=borrow_count+1 where student_name=+borrownameBox.getSelectedItem()+;db.updateSql(strSQL);strSQL=update book set borrowed_count=borrowed_count+1 where book_name=+booknameBox.getSelectedItem()+;db.updateSql(strSQL);db.closeConnection();this.dispose();elseJOptionPane.showMessageDialog(null, 借阅失败);db.closeConnection();this.dispose();catch(Exception se)System.out.println(se.toString();package library;import javax.swing.*;import javax.swing.table.DefaultTableModel;import java.awt.*;import java.awt.event.*;import java.sql.ResultSet;import java.sql.SQLException;import java.util.Vector;public class bookborrowlist extends JFrame implements ActionListenerDataBaseManager db=new DataBaseManager();ResultSet rs;Container c;JPanel panel1,panel2;JLabel bookname,studentname;JTextField bookname
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论