package book;
import java.sql.*;
//确认窗口
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.awt.event.*;
import javax.swing.table.*;
class bor_mana implements ActionListener
{
String driverName="com.microsoft.sqlserver.jdbc.SQLServerDriver";
String dbURL="jdbc:sqlserver://localhost:1433;DatabaseName=图书管理;encrypt=false";
String userName="sa";
String userPwd="123123";
Connection con;
Statement stmt;
ResultSet rs;
JFrame f=new JFrame("借阅管理");
String[] names;
int i,j,RowNum,ColNum;
Object[][] info;
JTable table;
JButton b=new JButton("同意");
JButton b2=new JButton("拒绝");
String id;
bor_mana(){
try{
Class.forName(driverName);
con=DriverManager.getConnection(dbURL, userName, userPwd);
stmt=con.createStatement();
ResultSet rs=stmt.executeQuery("select count(*) from 借阅表");
rs.next();
RowNum=rs.getInt(1);
rs=stmt.executeQuery("select * from 借阅表");
ResultSetMetaData rsmd=rs.getMetaData();
ColNum=rsmd.getColumnCount();
names=new String[ColNum]; //构造JTable
for (i=1;i<=ColNum;i++) names[i-1]=rsmd.getColumnName(i);
info=new Object[RowNum][];
i=0;
while (rs.next())
{
info[i]=new Object[ColNum];
for (j=1;j<=ColNum;j++)
{
info[i][j-1]=rs.getObject(j);
}
i++;
}
DefaultTableModel model = new DefaultTableModel(info,names);
table=new JTable(model);
table.setPreferredScrollableViewportSize(new Dimension(400,50));
b.addActionListener(this);
b2.addActionListener(this);
Panel panel=new Panel();
panel.add(b);
panel.add(b2);
f.add(panel,BorderLayout.SOUTH);
//table.addMouseListener(this);
f.getContentPane().add(new JScrollPane(table));
f.setSize(400, 300);
f.setVisible(true);
f.setResizable(false);
f.setLocationRelativeTo(null);
//只关闭当前窗口
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
f.dispose();
}
});
rs.close();
stmt.close();
con.close();
}
catch(Exception e)
{
System.out.println(e.getMessage());
}
}
public void actionPerformed(ActionEvent e)
{
try{
Class.forName(driverName);
con=DriverManager.getConnection(dbURL, userName, userPwd);
stmt=con.createStatement();
int i=table.getSelectedRow();
String book_name=table.getValueAt(i,0).toString();
String name=table.getValueAt(i,2).toString();
id=table.getValueAt(i,3).toString();
String numb= table.getValueAt(i,1).toString();
int number3=Integer.parseInt(numb);
//删除记录
if(e.getActionCommand().equals("同意"))
{
int result = JOptionPane.showConfirmDialog(f, "同意"+name+"借阅"+book_name+"吗");
if(result==JOptionPane.OK_OPTION)
{
number3--;
String sql2="delete from 借阅表 where 借书人姓名='"+name+"' and 书籍名称='"+book_name+"'";
stmt.execute(sql2);
sql2="update 借阅表 set 剩余数量="+number3+"where 书籍名称='"+book_name+"'";
stmt.execute(sql2);
sql2="update 图书 set 数量="+number3+"where 图书名称='"+book_name+"'";
stmt.execute(sql2);
String sql="insert into 成功借阅信息 values('"+book_name+"','"+name+"','"+id+"',getdate(),null)";
stmt.execute(sql);
//显示删除后数据库记录
ResultSet rs=stmt.executeQuery("select * from 借阅表");
DefaultTableModel tableModel= (DefaultTableModel)table.getModel();
tableModel.setRowCount(0);
while (rs.next())
{
String[] arr=new String[4];
arr[0]=rs.getString("书籍名称");
int num=(int)rs.getInt(2);
arr[1]=String.valueOf(num);
arr[2]=rs.getString("借书人姓名");
arr[3]=rs.getString("用户名");
tableModel.addRow(arr);
}
table.invalidate();
}
}
if(e.getActionCommand().equals("拒绝"))
{ int result2 = JOptionPane.showConfirmDialog(f, "拒绝"+name+"借阅"+book_name+"吗");
if(result2==JOptionPane.OK_OPTION)
{
String sql2="delete from 借阅表 where 借书人姓名='"+name+"' and 书籍名称='"+book_name+"'";
stmt.executeUpdate(sql2);
String sql="insert into 失败借阅信息 values('"+book_name+"','"+name+"','"+id+"')";
stmt.execute(sql);
//显示删除后数据库记录
ResultSet rs=stmt.executeQuery("select * from 借阅表");
DefaultTableModel tableModel= (DefaultTableModel)table.getModel();
tableModel.setRowCount(0);
while (rs.next())
{
String[] arr=new String[4];
arr[0]=rs.getString("书籍名称");
arr[1]=rs.getString("剩余数量");
arr[2]=rs.getString("借书人姓名");
arr[3]=rs.getString("用户名");
tableModel.addRow(arr);
}
table.invalidate();
}
}
// rs.close();
stmt.close();
con.close();
}
catch(Exception ex)
{
System.out.println(ex.getMessage());
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
图书管理系统java版
共96个文件
java:47个
class:45个
prefs:2个
需积分: 0 2 下载量 198 浏览量
2023-07-20
14:03:20
上传
评论
收藏 139KB ZIP 举报
温馨提示
java课程设计作业(末流211,信息与计算科学专业) 使用工具:eclipse(2022),SQL Server(2019) 没有网页,用java的图形用户界面做的,数据库不知道怎么上传。不过数据库那边只需要创建好表就行。
资源推荐
资源详情
资源评论
收起资源包目录
图书管理系统.zip (96个子文件)
图书管理系统
register.java 5KB
user.java 127B
book_change.java 6KB
.classpath 494B
reader_delete.java 4KB
.settings
org.eclipse.jdt.core.prefs 781B
org.eclipse.core.resources.prefs 95B
book_bor.java 4KB
book_situation.java 4KB
enter_reader.java 3KB
src
book
register.java 5KB
user.java 127B
book_change.java 6KB
reader_delete.java 4KB
book_bor.java 4KB
book_situation.java 4KB
enter_reader.java 3KB
enter_mana.java 3KB
check_exact.java 4KB
book_back.java 5KB
book_chech.java 5KB
entry_bor.java 3KB
reader_increase.java 4KB
manager_reader.java 1KB
user_kind.java 2KB
reader_check.java 4KB
book_increase.java 5KB
book_manage.java 1KB
manage.java 271B
enter_window.java 4KB
bor_mana.java 7KB
book_delete.java 4KB
reader_change.java 5KB
module-info.java 62B
enter_mana.java 3KB
check_exact.java 4KB
book_back.java 5KB
book_chech.java 5KB
entry_bor.java 3KB
reader_increase.java 4KB
bin
module-info.class 187B
book
reader_check$1.class 714B
reader_delete$1.class 720B
enter_Exception.class 280B
bor_mana$1.class 690B
bor_mana.class 7KB
Exception_register.class 282B
enter_window.class 5KB
book_bor.class 6KB
book_increase$1.class 720B
book_situation$1.class 726B
enter_bor.class 4KB
book_situation.class 5KB
book_manage$1.class 708B
Exception_exist.class 276B
reader_check.class 5KB
check_exact.class 4KB
Exception_pass.class 274B
register$1.class 690B
check_exact$1.class 708B
reader_increase.class 6KB
book_check.class 5KB
user_kind$1.class 696B
book_manage.class 2KB
user.class 355B
manage.class 447B
user_kind.class 2KB
manager_reader.class 2KB
book_back$1.class 696B
book_bor$1.class 690B
enter_mana.class 4KB
book_back.class 6KB
book_delete$1.class 708B
book_delete.class 6KB
reader_increase$1.class 732B
reader_change$1.class 720B
manager_reader$1.class 726B
reader_delete.class 5KB
book_increase.class 6KB
book_change$1.class 708B
book_check$1.class 702B
register.class 6KB
reader_change.class 7KB
enter_reader.class 4KB
book_change.class 7KB
manager_reader.java 1KB
user_kind.java 2KB
reader_check.java 4KB
book_increase.java 5KB
.project 380B
book_manage.java 1KB
manage.java 271B
enter_window.java 4KB
bor_mana.java 7KB
book_delete.java 4KB
reader_change.java 5KB
共 96 条
- 1
资源评论
黄莺123
- 粉丝: 10
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功