java GUI实现学生图书管理简单实例
作者:wqdsb 时间:2023-11-11 05:00:05
本文实例为大家分享了java GUI学生图书管理的具体代码,供大家参考,具体内容如下
- mysql数据库建表:
1.book表
2.bs借书记录表
3.std学生表
4.dl登录用户表
.
- 列表内容
1.databd.java //程序入口及登录验证
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import javax.swing.*;
import javax.swing.border.EmptyBorder;
public class databd extends JFrame implements ActionListener{
static frameDemo a=null;
String getuser="";
String getpd="";
String sql = "select * from dl where id='";
String sql1 = "select password from dl where password='";
JButton btnNewButton = new JButton("登录");
JButton btnNewButton_1 = new JButton("注册");
JTextField show=new JTextField("\t 请选择按钮",10);
private JPanel contentPane;
private JTextField userField;
private JPasswordField pwdField;
private Statement statement = null; //查询账号
private Statement statement2 = null; //注册账户
private static databd frame; //
ResultSet rst2=null;
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
frame = new databd();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
public databd() {
String driver = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost:8088/library?useUnicode=true&characterEncoding=utf-8&useSSL=false";
String user = "root";
String password = "11111";
try{
Class.forName(driver);
Connection conn = DriverManager.getConnection(url, user, password);
Connection conn2 = DriverManager.getConnection(url, user, password);
statement = conn.createStatement();
statement2 = conn2.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
rst2=statement2.executeQuery("select * from dl");
show.setEditable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(250, 200);
setLocationRelativeTo(null);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setLayout(null);
add(contentPane);
JLabel lblUsername = new JLabel("账号");
lblUsername.setBounds(12, 13, 54, 15);
contentPane.add(lblUsername);
JLabel lblPassword = new JLabel("密码");
lblPassword.setBounds(12, 38, 54, 15);
contentPane.add(lblPassword);
userField = new JTextField();
userField.setBounds(76, 10, 144, 21);
contentPane.add(userField);
userField.setColumns(10);
pwdField = new JPasswordField();
pwdField.setEchoChar('*'); //密码回显字符
pwdField.setBounds(76, 35, 144, 21);
contentPane.add(pwdField);
pwdField.setColumns(10);
add(show,BorderLayout.SOUTH);
btnNewButton.addActionListener(this); //登录
btnNewButton.setBounds(10, 92, 93, 23);
contentPane.add(btnNewButton);
btnNewButton_1.addActionListener(this); //注册
btnNewButton_1.setBounds(127, 92, 93, 23);
contentPane.add(btnNewButton_1);
show.addActionListener(this);
}catch(ClassNotFoundException e){System.out.print("不能找到驱动器");
}catch(Exception e){System.out.print("出现错误");e.printStackTrace();}
}
public void actionPerformed(ActionEvent e) {
getuser=userField.getText().trim()+"'";
String pd=String.valueOf(pwdField.getPassword());
try{
ResultSet rs=statement.executeQuery(sql+getuser);
if(e.getSource()==btnNewButton){ //登录
if(rs.next()){
if(rs.getString(2).equals(pd)){
frame.setVisible(false);
JOptionPane.showMessageDialog(null, "登录成功");
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
a=frameDemo.a; //生成静态对象
}else show.setText("\t 密码错误");
}
else
show.setText("\t 账号不存在");
}
else if(e.getSource()==btnNewButton_1){ //注册
if(userField.getText().equals("")){
show.setText("\t 注册账号不能为空");}
else {
if((String.valueOf(pwdField.getPassword())).equals(""))
show.setText("\t 注册密码不能为空");
else {register();}
}
}
}catch(Exception c){c.printStackTrace();}
}
private void register(){
String name=userField.getText(),
passwd=String.valueOf(pwdField.getPassword());
try{
rst2.moveToInsertRow();
rst2.updateString(1, name);
rst2.updateString(2, passwd);
rst2.insertRow();
rst2.moveToCurrentRow();
show.setText("\t 注册成功");
}catch(Exception e){show.setText("\t 注册失败");}
}
}
2.frameDemo //主框架,处理事件交给addinformation类
package database;
import javax.swing.*;
import javax.swing.border.TitledBorder;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import java.util.Calendar;
import java.util.GregorianCalendar;
public class frameDemo extends JFrame implements ActionListener{
public static frameDemo a=new frameDemo();
JPanel panel=new JPanel(),
panel1=new JPanel(),
panel2=new JPanel(),
panel3=new JPanel(),
panel4=new JPanel(),
panel5=new JPanel();
String[] adds={"请选择操作","添加馆藏记录","添加借书记录","添加学生记录"};
String[] deletes={"请选择操作","删除馆藏记录","删除借书记录","删除学生记录"};
String[] changes={"请选择操作","修改库存记录","修改应还日期"};
String[] querys={"请选择操作","查询书籍","查询书号","查询学生借书记录","查询学生信息"};
String[] shows={"请选择操作","显示所有馆藏记录","显示借书记录","显示学生记录"};
String[] record=new String[4];
JTextArea ta=new JTextArea("-->欢迎使用系统\n",11,60);
JScrollPane pane=new JScrollPane(ta);
Connection conn=null;
Statement stmt=null;
Statement stmt1=null;
Statement stmt2=null;
ResultSet rst=null;
ResultSet rst1=null;
ResultSet rst2=null;
static boolean key;
private JFrame big=new JFrame("请选择操作");
private JComboBox add=new JComboBox(adds);
private JComboBox delete=new JComboBox(deletes);
private JComboBox change=new JComboBox(changes);
private JComboBox query=new JComboBox(querys);
private JComboBox show=new JComboBox(shows);
public frameDemo(){
super("图书馆管理系统");
try{
Class.forName("com.mysql.jdbc.Driver");
String url="jdbc:mysql://localhost:8088/library?useUnicode=true&characterEncoding=utf-8&useSSL=false";
String user="root";
String password="11111";
conn=DriverManager.getConnection(url, user, password);
panel4.setLayout(new GridLayout(3,1,30,10));
panel4.setBorder(new TitledBorder("选择管理:"));
panel1.add(new JLabel("添加记录:"));
panel1.add(add);
panel1.add(new JLabel("删除记录:"));
panel1.add(delete);
panel2.add(new JLabel("修改记录:"));
panel2.add(change);
panel2.add(new JLabel("查询记录:"));
panel2.add(query);
panel3.add(new JLabel("显示记录:"));
panel3.add(show);
panel4.add(panel1);panel4.add(panel2);panel4.add(panel3);
panel5.add(pane);
panel.add(panel5,BorderLayout.SOUTH);
panel.add(panel4,BorderLayout.CENTER);
add(panel);
//pack();
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);//可滚可更
stmt1=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
stmt2=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
add.addActionListener(this);
delete.addActionListener(this);
change.addActionListener(this);
query.addActionListener(this);
show.addActionListener(this);
setSize(470,440);
//setResizable(false);
setLocationRelativeTo(null);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}catch(Exception e){e.printStackTrace();}
}
public void actionPerformed(ActionEvent ae){
try{
//if(key){ //数据库非空
if(add.getSelectedIndex()==1){
ta.append("-->添加馆藏记录\n");
addinformation a1=new addinformation("图书编号", "书名", "库存",1);
}
else if(add.getSelectedIndex()==2){
ta.append("-->添加借书记录\n");
addinformation a1=new addinformation("图书编号", "学号",2);
}
else if(add.getSelectedIndex()==3){
ta.append("-->添加学生记录\n");
addinformation a1=new addinformation("学生学号", "学生姓名",3);
}
add.setSelectedItem("请选择操作");
if(delete.getSelectedIndex()==1){
ta.append("-->删除馆藏记录\n");
addinformation a1=new addinformation("图书编号",4);
}
else if(delete.getSelectedIndex()==2){
ta.append("-->删除借书记录\n");
addinformation a1=new addinformation("图书编号","学生学号",5);
}
else if(delete.getSelectedIndex()==3){
ta.append("-->删除学生记录\n");
addinformation a1=new addinformation("学生学号",6);
}
delete.setSelectedItem("请选择操作");
if(change.getSelectedIndex()==1){
ta.append("-->修改库存记录\n");
addinformation a1=new addinformation("图书编号","库存数目",7);
}
else if(change.getSelectedIndex()==2){
ta.append("-->修改应还日期\n");
addinformation a1=new addinformation("图书编号","学生学号","应还日期",8);
}
change.setSelectedItem("请选择操作");
if(query.getSelectedIndex()==1){
ta.append("-->按书名查询\n");
addinformation a1=new addinformation("书名",9);
}
else if(query.getSelectedIndex()==2){
ta.append("-->按书籍编号查询\n");
addinformation a1=new addinformation("书籍编号",10);
}
else if(query.getSelectedIndex()==3){
ta.append("-->查询学生借书记录\n");
addinformation a1=new addinformation("学生学号",11);
}
else if(query.getSelectedIndex()==4){
ta.append("-->查询学生信息\n");
addinformation a1=new addinformation("学生学号",12);
}
query.setSelectedItem("请选择操作");
if(show.getSelectedIndex()==1){
ta.append("-->显示所有馆藏记录\n");
try{
rst=stmt.executeQuery("SELECT * FROM book");
rst.first();
ta.append("------------------------------------\n");
int id=rst.getInt(1);
String name=rst.getString(2);
int num=rst.getInt(3);
ta.append("\t书籍编号\t书籍名称\t在馆库存\n");
ta.append("\t"+id+"\t"+name+"\t"+num+"\n");
while(rst.next()){
id=rst.getInt(1);
name=rst.getString(2);
num=rst.getInt(3);
ta.append("\t"+id+"\t"+name+"\t"+num+"\n");
}//执行后游标指向最后一行的后一个位置
rst.first();
ta.append("------------------------------------\n");
}catch(Exception e){ta.append("-->显示错误");}
}
else if(show.getSelectedIndex()==2){
ta.append("-->显示借书记录\n");
rst1=stmt1.executeQuery("SELECT * FROM bs");
Calendar calendar =new GregorianCalendar();
try{
rst1.first();
ta.append("----------------------------------------------------\n");
int bookid=rst1.getInt(2);
int stdid=rst1.getInt(3);
Date x=rst1.getDate(4);
calendar.setTime(x);
calendar.add(calendar.DATE, 30);
java.util.Date utilDate = (java.util.Date)calendar.getTime();
utilDate = (java.util.Date)calendar.getTime();
Date newDate =new Date(utilDate.getTime());
ta.append("\t书籍编号\t学生学号\t借书日期\t\t应还日期\n");
ta.append("\t"+bookid+"\t"+stdid+"\t"+x+"\t"+newDate+"\n");
while(rst1.next()){
bookid=rst1.getInt(2);
stdid=rst1.getInt(3);
x=rst1.getDate(4);
calendar.setTime(x);
calendar.add(calendar.DATE, 30);
utilDate = (java.util.Date)calendar.getTime();
utilDate = (java.util.Date)calendar.getTime();
newDate =new Date(utilDate.getTime());
ta.append("\t"+bookid+"\t"+stdid+"\t"+x+"\t"+newDate+"\n");
}//执行后游标指向最后一行的后一个位置
rst1.first();
ta.append("----------------------------------------------------\n");
}catch(Exception e){ta.append("-->显示错误");e.printStackTrace();}
}
else if(show.getSelectedIndex()==3){
ta.append("-->显示学生记录\n");
try{
rst2=stmt2.executeQuery("SELECT * FROM std");
rst2.first();
ta.append("------------------------------------\n");
int id=rst2.getInt(1);
String name=rst2.getString(2);
ta.append("\t学生学号\t学生姓名\n");
ta.append("\t"+id+"\t"+name+"\t"+"\n");
while(rst2.next()){
id=rst2.getInt(1);
name=rst2.getString(2);
ta.append("\t"+id+"\t"+name+"\t"+"\n");
}//执行后游标指向最后一行的后一个位置
rst2.first();
ta.append("------------------------------------\n");
}catch(Exception e){ta.append("-->显示错误");}
}
show.setSelectedItem("请选择操作");
ta.setCaretPosition(ta.getText().length()); //滚动条保持在最后一条
}catch(Exception e){e.printStackTrace();}
}
public void showMessage(){
try{
int a=rst.getRow();
ta.append(a+"\n");
rst.first();
ta.append("---------------------------\n");
String id=rst.getString(1),
name=rst.getString(2),
brand=rst.getString(3),
price=rst.getString(4),
stock=rst.getString(5);
ta.append(id+" "+name+" "+brand+" "+price+" "+stock+"\n");
while(rst.next()){
id=rst.getString(1);
name=rst.getString(2);
brand=rst.getString(3);
price=rst.getString(4);
stock=rst.getString(5);
ta.append(id+" "+name+" "+brand+" "+price+" "+stock+"\n");
}//执行后游标指向最后一行的后一个位置
rst.absolute(a);
ta.append("---------------------------\n");
}catch(Exception e){ta.append("-->显示错误");}
}
// public static void main(String[] args){
// try{
//UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
// }catch(Exception e){System.out.print("1111111111");}
// a=new frameDemo();
// }
}
3.addinformation.java //处理事件
package database;
import javax.swing.*;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
public class addinformation extends JFrame implements ActionListener{
JButton sure=new JButton("确定"),
quxiao=new JButton("取消");
JTextField jtf1=new JTextField(10),
jtf2=new JTextField(10),
jtf3=new JTextField(10);
Connection conn=null;
static{
try{
Class.forName("com.mysql.jdbc.Driver");
}catch(Exception e){e.printStackTrace();}
}
int x=0;
public Connection getConnection() throws SQLException{
if(conn==null){
conn=DriverManager.getConnection("jdbc:mysql://localhost:8088/library?useUnicode=true&characterEncoding=utf-8&useSSL=false","root","11111");
}
return conn;
}
addinformation(String s1,String s2,String s3,int m){
JPanel p=new JPanel();
p.setLayout(new FlowLayout());
p.add(new JLabel(s1));
p.add(jtf1);
p.add(new JLabel(s2));
p.add(jtf2);
p.add(new JLabel(s3));
p.add(jtf3);
p.add(sure);
p.add(quxiao);
add(p);
if(m==8){
JOptionPane.showMessageDialog(null, "图书日期应为 XXXX-XX-XX 格式!","警告",JOptionPane.WARNING_MESSAGE);
}
setSize(500, 100);
setVisible(true);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
setLocationRelativeTo(null);
sure.addActionListener(this);
quxiao.addActionListener(this);
x=m;
}
addinformation(String s1,String s2,int m){
JPanel p=new JPanel();
p.setLayout(new FlowLayout());
p.add(new JLabel(s1));
p.add(jtf1);
p.add(new JLabel(s2));
p.add(jtf2);
p.add(sure);
p.add(quxiao);
add(p);
setSize(500, 100);
setVisible(true);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
setLocationRelativeTo(null);
sure.addActionListener(this);
quxiao.addActionListener(this);
x=m;
}
addinformation(String s1,int m){
JPanel p=new JPanel();
p.setLayout(new FlowLayout());
p.add(new JLabel(s1));
p.add(jtf1);
if(m==4){
JOptionPane.showMessageDialog(null, "若存在借阅记录则不能删除书籍信息!","警告",JOptionPane.WARNING_MESSAGE);
}
if(m==6){
JOptionPane.showMessageDialog(null, "若学生存在借阅记录则不能删除该学生信息!","警告",JOptionPane.WARNING_MESSAGE);
}
p.add(sure);
p.add(quxiao);
add(p);
setSize(500, 80);
setVisible(true);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
setLocationRelativeTo(null);
sure.addActionListener(this);
quxiao.addActionListener(this);
x=m;
}
public void actionPerformed(ActionEvent ae){
if(ae.getSource()==sure){
if(x==1){ //添加 馆藏记录
String sql="INSERT INTO book VALUES(?,?,?)";
try(
Connection conn=getConnection();
PreparedStatement stmt=conn.prepareStatement(sql)){
int id=Integer.parseInt(jtf1.getText());
String name=jtf2.getText();
int num=Integer.parseInt(jtf3.getText());
stmt.setInt(1, id);
stmt.setString(2, name);
stmt.setInt(3, num);
stmt.executeUpdate();
frameDemo.a.ta.append("-->添加成功\n");
}catch(Exception x){frameDemo.a.ta.append("-->插入出错\n");x.printStackTrace();}
addinformation.this.dispose();
}
if(x==2){ //添加借书记录
String sql="INSERT INTO bs(bookid,stdid,date) VALUES(?,?,?)";
String sql1="SELECT id,num FROM book WHERE id=?";
String sql2="SELECT id FROM std WHERE id=?";
try{
Connection conn1=getConnection();
PreparedStatement stmt1=conn1.prepareStatement(sql1,ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
stmt1.setInt(1,Integer.parseInt(jtf1.getText()));
ResultSet rst1=stmt1.executeQuery();//找有没有这本书和库存是否为0
if(rst1.next()&&(rst1.getInt(2)>0)){
int n=rst1.getInt(2);n-=1;
int m=rst1.getInt(1);
rst1.updateInt(1, m);
rst1.updateInt(2, n);
rst1.updateRow();
Connection conn2=getConnection();
PreparedStatement stmt2=conn2.prepareStatement(sql2);
stmt2.setInt(1,Integer.parseInt(jtf2.getText()));
ResultSet rst2=stmt2.executeQuery();//有人
if(rst2.next()){
Connection conn=getConnection();
PreparedStatement stmt=conn.prepareStatement(sql);
int bookid=Integer.parseInt(jtf1.getText());
int stdid=Integer.parseInt(jtf2.getText());
stmt.setInt(1, bookid);
stmt.setInt(2, stdid);
stmt.setDate(3, new Date(System.currentTimeMillis()));
stmt.executeUpdate();
frameDemo.a.ta.append("-->添加成功\n");
}
else{frameDemo.a.ta.append("-->无该学生记录,不能添加借阅记录\n");}
}else{frameDemo.a.ta.append("-->无此书或已全部借出\n");}
}catch(Exception x){frameDemo.a.ta.append("-->插入出错\n");x.printStackTrace();}
addinformation.this.dispose();
}
if(x==3){ //添加学生记录
String sql="INSERT INTO std VALUES(?,?)";
try(
Connection conn=getConnection();
PreparedStatement stmt=conn.prepareStatement(sql)){
int id=Integer.parseInt(jtf1.getText());
String name=jtf2.getText();
stmt.setInt(1, id);
stmt.setString(2, name);
stmt.executeUpdate();
frameDemo.a.ta.append("-->添加成功\n");
}catch(Exception x){frameDemo.a.ta.append("-->插入出错\n");x.printStackTrace();}
addinformation.this.dispose();
}
if(x==4){ //删除图书记录
String sql="DELETE FROM book WHERE id=?";
String sql1="SELECT * FROM bs WHERE bookid=?";
try{
Connection conn1=getConnection();
PreparedStatement stmt1=conn1.prepareStatement(sql1);
stmt1.setInt(1,Integer.parseInt(jtf1.getText()));
ResultSet rst1=stmt1.executeQuery();
if(rst1.next()){ //借阅记录中有书
JOptionPane.showMessageDialog(null, "借阅记录中有该书的借阅记录!","警告",JOptionPane.WARNING_MESSAGE);
}
else{ //借阅记录无书,可以删掉
Connection conn=getConnection();
PreparedStatement stmt=conn.prepareStatement(sql);
int id=Integer.parseInt(jtf1.getText());
stmt.setInt(1, id);
int t=stmt.executeUpdate();
if(t==0){
frameDemo.a.ta.append("-->删除出错\n");
JOptionPane.showMessageDialog(null, "不存在该图书信息!","警告",JOptionPane.WARNING_MESSAGE);
}
else frameDemo.a.ta.append("-->删除记录成功\n");
}
}catch(Exception x){frameDemo.a.ta.append("-->删除失败\n");x.printStackTrace();}
addinformation.this.dispose();
}
if(x==5){ //删除借书记录
String sql="DELETE FROM bs WHERE bookid=? AND stdid=?";
String sql1="SELECT id,num FROM book WHERE id=?";
try{
Connection conn=getConnection();
PreparedStatement stmt=conn.prepareStatement(sql);
int bookid=Integer.parseInt(jtf1.getText());
int stdid=Integer.parseInt(jtf2.getText());
stmt.setInt(1, bookid);
stmt.setInt(2, stdid);
int t=stmt.executeUpdate();
if(t!=0){
Connection conn1=getConnection();
PreparedStatement stmt1=conn1.prepareStatement(sql1,ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
stmt1.setInt(1,Integer.parseInt(jtf1.getText()));
ResultSet rst1=stmt1.executeQuery();rst1.next();
int m=rst1.getInt(1);
int n=rst1.getInt(2);n+=1;
rst1.updateInt(1, m);
rst1.updateInt(2, n);
rst1.updateRow();
frameDemo.a.ta.append("-->删除借阅记录成功\n");
}
else{
frameDemo.a.ta.append("-->删除出错\n");
JOptionPane.showMessageDialog(null, "不存在这条借阅记录!","警告",JOptionPane.WARNING_MESSAGE);
}
}catch(Exception x){frameDemo.a.ta.append("-->删除出错\n");x.printStackTrace();}
addinformation.this.dispose();
}
if(x==6){ //删除学生记录
String sql="DELETE FROM std WHERE id=?";
String sql1="SELECT * FROM bs WHERE stdid=?";
try {
Connection conn1=getConnection();
PreparedStatement stmt1=conn1.prepareStatement(sql1);
stmt1.setInt(1,Integer.parseInt(jtf1.getText()));
ResultSet rst1=stmt1.executeQuery();
if(rst1.next()){ //借阅记录中有该人
JOptionPane.showMessageDialog(null, "借阅记录中有该人的借阅记录!","警告",JOptionPane.WARNING_MESSAGE);
}
else{
Connection conn=getConnection();
PreparedStatement stmt=conn.prepareStatement(sql);
int stdid=Integer.parseInt(jtf1.getText());
stmt.setInt(1, stdid);
int t=stmt.executeUpdate();
if(t==0){
frameDemo.a.ta.append("-->删除出错\n");
JOptionPane.showMessageDialog(null, "不存在该学生记录!","警告",JOptionPane.WARNING_MESSAGE);
}
else frameDemo.a.ta.append("-->删除记录成功\n");
}
}catch(Exception x){frameDemo.a.ta.append("-->删除出错\n");x.printStackTrace();}
addinformation.this.dispose();
}
if(x==7){ //修改图书库存记录
String sql="UPDATE book SET num=? WHERE id=?";
try(
Connection conn=getConnection();
PreparedStatement stmt=conn.prepareStatement(sql)){
int num=Integer.parseInt(jtf2.getText());
int bookid=Integer.parseInt(jtf1.getText());
stmt.setInt(1, num);
stmt.setInt(2, bookid);
int t=stmt.executeUpdate();
if(t==0){
frameDemo.a.ta.append("-->修改出错\n");
JOptionPane.showMessageDialog(null, "不存在该图书记录!","警告",JOptionPane.WARNING_MESSAGE);
}
else frameDemo.a.ta.append("-->修改记录成功\n");
}catch(Exception x){frameDemo.a.ta.append("-->修改出错\n");x.printStackTrace();}
addinformation.this.dispose();
}
if(x==8){ //修改应还日期
String sql="UPDATE bs SET date=? WHERE bookid=? AND stdid=?";
try(
Connection conn=getConnection();
PreparedStatement stmt=conn.prepareStatement(sql)){
Date date = Date.valueOf(jtf3.getText());
Calendar calendar =new GregorianCalendar();
calendar.setTime(date);
calendar.add(calendar.DATE, -30);
java.util.Date utilDate = (java.util.Date)calendar.getTime();
utilDate = (java.util.Date)calendar.getTime();
Date newDate =new Date(utilDate.getTime());
int stdid=Integer.parseInt(jtf2.getText());
int bookid=Integer.parseInt(jtf1.getText());
stmt.setDate(1, newDate);
stmt.setInt(2, bookid);
stmt.setInt(3, stdid);
int t=stmt.executeUpdate();
if(t==0){
frameDemo.a.ta.append("-->修改出错\n");
JOptionPane.showMessageDialog(null, "不存在该借书记录!","警告",JOptionPane.WARNING_MESSAGE);
}
else frameDemo.a.ta.append("-->修改记录成功\n");
}catch(Exception x){frameDemo.a.ta.append("-->修改出错\n");x.printStackTrace();}
addinformation.this.dispose();
}
if(x==9){ //按书名查询
String sql="SELECT * from book WHERE name=?";
ResultSet rst=null;
try(
Connection conn=getConnection();
PreparedStatement stmt=conn.prepareStatement(sql)){
String name=jtf1.getText();
stmt.setString(1, name);
rst=stmt.executeQuery();
if(rst.next()){
frameDemo.a.ta.append("---------------------------------------\n");
frameDemo.a.ta.append("\t图书编号\t书名\t在馆数\n");
frameDemo.a.ta.append("\t"+rst.getInt(1)+"\t"+rst.getString(2)+"\t"+rst.getInt(3)+"\n");
frameDemo.a.ta.append("---------------------------------------\n");
}
else{
frameDemo.a.ta.append("-->查询出错\n");
JOptionPane.showMessageDialog(null, "不存在该书!","警告",JOptionPane.WARNING_MESSAGE);
}
}catch(Exception x){frameDemo.a.ta.append("-->查询出错\n");x.printStackTrace();}
addinformation.this.dispose();
}
if(x==10){ //按书籍编号查询
String sql="SELECT * from book WHERE id=?";
ResultSet rst=null;
try(
Connection conn=getConnection();
PreparedStatement stmt=conn.prepareStatement(sql)){
stmt.setInt(1, Integer.parseInt(jtf1.getText()));
rst=stmt.executeQuery();
if(rst.next()){
frameDemo.a.ta.append("---------------------------------------\n");
frameDemo.a.ta.append("\t图书编号\t书名\t在馆数\n");
frameDemo.a.ta.append("\t"+rst.getInt(1)+"\t"+rst.getString(2)+"\t"+rst.getInt(3)+"\n");
frameDemo.a.ta.append("---------------------------------------\n");
}
else{
frameDemo.a.ta.append("-->查询出错\n");
JOptionPane.showMessageDialog(null, "不存在该书!","警告",JOptionPane.WARNING_MESSAGE);
}
}catch(Exception x){frameDemo.a.ta.append("-->查询出错\n");x.printStackTrace();}
addinformation.this.dispose();
}
if(x==11){ //按学生借书记录查询
String sql="SELECT bookid,stdid,date from bs WHERE stdid=?";
ResultSet rst=null;
try(
Connection conn=getConnection();
PreparedStatement stmt=conn.prepareStatement(sql)){
stmt.setInt(1, Integer.parseInt(jtf1.getText()));
rst=stmt.executeQuery();
Calendar calendar =new GregorianCalendar();
if(rst.next()){
frameDemo.a.ta.append("----------------------------------------------------\n");
frameDemo.a.ta.append("\t图书编号\t学生学号\t借书时间\t\t应还时间\n");
Date x=rst.getDate(3);
calendar.setTime(x);
calendar.add(calendar.DATE, 30);
java.util.Date utilDate = (java.util.Date)calendar.getTime();
utilDate = (java.util.Date)calendar.getTime();
Date newDate =new Date(utilDate.getTime());
frameDemo.a.ta.append("\t"+rst.getInt(1)+"\t"+rst.getInt(2)+"\t"+x+"\t"+newDate+"\n");
while(rst.next()){
x=rst.getDate(3);
calendar.setTime(x);
calendar.add(calendar.DATE, 30);
utilDate = (java.util.Date)calendar.getTime();
utilDate = (java.util.Date)calendar.getTime();
newDate =new Date(utilDate.getTime());
frameDemo.a.ta.append("\t"+rst.getInt(1)+"\t"+rst.getInt(2)+"\t"+x+"\t"+newDate+"\n");
}
frameDemo.a.ta.append("----------------------------------------------------\n");
}
else{
frameDemo.a.ta.append("-->查询出错\n");
JOptionPane.showMessageDialog(null, "不存在该借书记录!","警告",JOptionPane.WARNING_MESSAGE);
}
}catch(Exception x){frameDemo.a.ta.append("-->查询出错\n");x.printStackTrace();}
addinformation.this.dispose();
}
if(x==12){ //查询学生信息
String sql="SELECT * from std WHERE id=?";
ResultSet rst=null;
try(
Connection conn=getConnection();
PreparedStatement stmt=conn.prepareStatement(sql)){
stmt.setInt(1, Integer.parseInt(jtf1.getText()));
rst=stmt.executeQuery();
if(rst.next()){
frameDemo.a.ta.append("---------------------------------------\n");
frameDemo.a.ta.append("\t学生学号\t学生姓名\t\n");
frameDemo.a.ta.append("\t"+rst.getInt(1)+"\t"+rst.getString(2)+"\n");
frameDemo.a.ta.append("---------------------------------------\n");
}
else{
frameDemo.a.ta.append("-->查询出错\n");
JOptionPane.showMessageDialog(null, "不存在该学生!","警告",JOptionPane.WARNING_MESSAGE);
}
}catch(Exception x){frameDemo.a.ta.append("-->查询出错\n");x.printStackTrace();}
addinformation.this.dispose();
}
}
if(ae.getSource()==quxiao){
addinformation.this.dispose();
frameDemo.a.ta.append("-->操作取消\n");
}
}
}
来源:http://blog.csdn.net/qq_28929579/article/details/53562552
标签:java,GUI,图书管理
0
投稿
猜你喜欢
java如何对map进行排序详解(map集合的使用)
2022-12-22 18:26:13
Spring MVC入门_动力节点Java学院整理
2023-11-03 20:35:31
CefSharp过滤图片RequestHandler问题
2023-06-05 03:01:39
C#字典Dictionary的用法说明(注重性能版)
2023-08-05 19:33:02
C# Console利用mspaint打开图像并保存的方法
2023-07-05 16:15:43
Android在线更新SDK的方法(使用国内镜像)
2022-08-31 02:40:31
基于java构造方法Vector修改元素源码分析
2023-11-25 10:54:56
在C#中使用Channels的完整教程
2021-11-03 15:41:28
C#的并发机制优秀在哪你知道么
2022-11-09 09:44:35
基于jdk动态代理和cglib动态代理实现及区别说明
2022-04-11 00:32:44
Android Drawerlayout实现侧滑菜单效果
2022-10-31 19:39:23
Spring配置文件如何使用${username}
2021-07-26 22:40:27
java list,set,map,数组间的相互转换详解
2023-04-11 13:02:04
通过java.util.TreeMap源码加强红黑树的理解
2021-07-27 08:45:59
SpringCloud超详细讲解负载均衡组件Ribbon源码
2021-06-17 18:39:47
springSecurity之AuthenticationProvider用法解析
2022-09-07 20:55:01
Android利用Sensor(传感器)实现指南针小功能
2021-12-27 14:22:36
使用注解@Validated效验VO参数是否合规
2023-10-27 20:13:01
Android Volley框架使用源码分享
2023-09-10 09:43:44
详解RestTemplate的三种使用方式
2023-06-07 16:30:45