📄 library.java
字号:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.sql.*;
import java.util.*;
//用户登陆
class Login extends JFrame implements ActionListener
{ JLabel txt1=new JLabel("图书管理系统");
TextField txt2;
TextField txt3;
JButton btn1,btn2;
Login()
{ super("图书管理系统");
setLayout(null);
setBounds(150,250,300,200);
setVisible(true);
JLabel l1=new JLabel("用户名:");
JLabel l2=new JLabel("密码:");
btn1=new JButton("登陆");
btn2=new JButton("清除");
txt2=new TextField();
txt3=new TextField();
txt3.setEchoChar('*');
btn1.addActionListener(this);
btn2.addActionListener(this);
add(l1);
add(l2);
add(txt1);
add(txt2);
add(txt3);
add(btn1);
add(btn2);
txt1.setBounds(110,20,120,25);
l1.setBounds(60,50,60,27);
l2.setBounds(73,85,60,27);
txt2.setBounds(110,50,80,25);
txt3.setBounds(110,80,80,25);
btn1.setBounds(80,130,60,27);
btn2.setBounds(150,130,60,27);
validate();
}
public void actionPerformed(ActionEvent e)
{
if (e.getSource()==btn1)
{
try{Yz();}
catch(SQLException ee){
System.out.println("SQLException:"+ee.getMessage());}
}
if (e.getSource()==btn2)
{
txt2.setText("");
txt3.setText("");}
}
public void Yz()throws SQLException
{
try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}
catch(ClassNotFoundException e){
System.out.println("ForName:"+e.getMessage());}
String conURL="jdbc:odbc:Driver={MicroSoft Access Driver (*.mdb)};"+"DBQ=library.mdb";
Connection ExlCon=DriverManager.getConnection(conURL);
Statement Exlstmt=ExlCon.createStatement();
String s1="'"+txt2.getText()+"'";
String s2="'"+txt3.getText()+"'";
String s3=txt2.getText();
String s5="select * from user where user_id="+s1+"and password="+s2;
ResultSet s4=Exlstmt.executeQuery(s5);
if(s4.next())
{
ExlCon.close();
dispose();
new Mainwindow(s3);
}
else {
JOptionPane.showMessageDialog(null,"密码错误或者用户名不存在");
}
}
}
//用户添加
class Useradd extends JFrame implements ActionListener
{
ResultSet rs;
Container c;
JPanel panel1,panel2;
JLabel UserLabel,PasswordLabel,PasswordConfirmLabel;
JTextField UserTextField;
JPasswordField PasswordTextField,PasswordConfirmTextField;
JButton AddBtn,CancelBtn;
Useradd()
{
super("添加用户");
c=getContentPane();
c.setLayout(new BorderLayout());
UserLabel=new JLabel("用户名",JLabel.CENTER);
PasswordLabel=new JLabel("密码",JLabel.CENTER);
PasswordConfirmLabel=new JLabel("确认密码",JLabel.CENTER);
UserTextField=new JTextField(10);
PasswordTextField=new JPasswordField(10);
PasswordConfirmTextField=new JPasswordField(10);
AddBtn=new JButton("添加");
CancelBtn=new JButton("取消");
AddBtn.addActionListener(this);
CancelBtn.addActionListener(this);
panel1=new JPanel();
panel1.setLayout(new GridLayout(4,2));
panel1.add(UserLabel);
panel1.add(UserTextField);
panel1.add(PasswordLabel);
panel1.add(PasswordTextField);
panel1.add(PasswordConfirmLabel);
panel1.add(PasswordConfirmTextField);
c.add(panel1,BorderLayout.CENTER);
panel2=new JPanel();
panel2.add(AddBtn);
panel2.add(CancelBtn);
c.add(panel2,BorderLayout.SOUTH);
setSize(370,180);
show();
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource() == AddBtn)
{if(UserTextField.getText().trim().equals(""))
{
JOptionPane.showMessageDialog(null,"用户名不能为空!");
}
else if(PasswordTextField.getText().trim().equals(""))
{
JOptionPane.showMessageDialog(null,"密码不能为空!");
}
else if(!PasswordTextField.getText().trim().equals(PasswordConfirmTextField.getText().trim()))
{
JOptionPane.showMessageDialog(null,"两次输入的密码不一致!");
}
else
{
try{Adduser();}
catch(SQLException ee){
System.out.println("SQLException:"+ee.getMessage());}
}}
if(e.getSource() == CancelBtn)
{dispose();
}
}
public void Adduser()throws SQLException
{
try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}
catch(ClassNotFoundException e){
System.out.println("ForName:"+e.getMessage());}
String conURL="jdbc:odbc:Driver={MicroSoft Access Driver (*.mdb)};"+"DBQ=library.mdb";
Connection ExlCon=DriverManager.getConnection(conURL);
Statement Exlstmt=ExlCon.createStatement();
char[] password=PasswordTextField.getPassword();
String passwordSTR=new String(password);
char[] confirmPassword=PasswordConfirmTextField.getPassword();
String confirmPasswordSTR=new String(confirmPassword);
String a5="select * from user where user_id='"+
UserTextField.getText().trim()+"'";
ResultSet a4=Exlstmt.executeQuery(a5);
if(a4.next())
{JOptionPane.showMessageDialog(null,"用户已存在!请更换用户名");
}
else {
String s1="'"+UserTextField.getText().trim()+"'";
String s2="'"+PasswordTextField.getText().trim()+"'";
String temp="INSERT INTO user VALUES ("+s1+","+s2+")";
Exlstmt.executeUpdate(temp);
JOptionPane.showMessageDialog(null,"添加成功");
ExlCon.close();
}
}
}
//用户修改
class UserModify extends JFrame implements ActionListener
{
JPanel panel1,panel2;
Container c;
JLabel UserLabel,PasswordLabel,NewPasswordLabel,PasswordConfirmLabel;
JTextField UserTextField;
JPasswordField PasswordTextField,NewPasswordTextField,PasswordConfirmTextField;
JButton UpdateBtn,CancelBtn;
UserModify()
{
super("更改密码");
c=getContentPane();
c.setLayout(new BorderLayout());
UserLabel=new JLabel("用户名",JLabel.CENTER);
PasswordLabel=new JLabel("原密码",JLabel.CENTER);
NewPasswordLabel=new JLabel("新密码",JLabel.CENTER);
PasswordConfirmLabel=new JLabel("确认新密码",JLabel.CENTER);
UserTextField=new JTextField(10);
PasswordTextField=new JPasswordField(10);
NewPasswordTextField=new JPasswordField(10);
PasswordConfirmTextField=new JPasswordField(10);
UpdateBtn=new JButton("更新");
CancelBtn=new JButton("取消");
UpdateBtn.addActionListener(this);
CancelBtn.addActionListener(this);
panel1=new JPanel();
panel1.setLayout(new GridLayout(4,2));
panel1.add(UserLabel);
panel1.add(UserTextField);
panel1.add(PasswordLabel);
panel1.add(PasswordTextField);
panel1.add(NewPasswordLabel);
panel1.add(NewPasswordTextField);
panel1.add(PasswordConfirmLabel);
panel1.add(PasswordConfirmTextField);
panel2=new JPanel();
panel2.add(UpdateBtn);
panel2.add(CancelBtn);
c.add(panel1,BorderLayout.CENTER);
c.add(panel2,BorderLayout.SOUTH);
setSize(400,180);
show();
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==CancelBtn)
{
dispose();
}
else if(e.getSource()==UpdateBtn)
{ char[] password=PasswordTextField.getPassword();
String passwordSTR=new String(password);
char[] newPassword=NewPasswordTextField.getPassword();
String newPasswordSTR=new String(newPassword);
char[] confirmPassword=PasswordConfirmTextField.getPassword();
String confirmPasswordSTR=new String(confirmPassword);
if(UserTextField.getText().trim().equals(""))
{
JOptionPane.showMessageDialog(null,"用户名不能为空!");
}
else if(passwordSTR.equals(""))
{
JOptionPane.showMessageDialog(null,"原密码不能为空!");
}
else if(!newPasswordSTR.equals(confirmPasswordSTR))
{
JOptionPane.showMessageDialog(null,"两次输入的新密码不一致!");
}
else
{
try{Updateuser();}
catch(SQLException ee){
System.out.println("SQLException:"+ee.getMessage());}
}
}
}
public void Updateuser()throws SQLException
{
try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}
catch(ClassNotFoundException e){
System.out.println("ForName:"+e.getMessage());}
String conURL="jdbc:odbc:Driver={MicroSoft Access Driver (*.mdb)};"+"DBQ=library.mdb";
Connection ExlCon=DriverManager.getConnection(conURL);
Statement Exlstmt=ExlCon.createStatement();
char[] password=PasswordTextField.getPassword();
String passwordSTR=new String(password);
char[] newPassword=NewPasswordTextField.getPassword();
String newPasswordSTR=new String(newPassword);
char[] confirmPassword=PasswordConfirmTextField.getPassword();
String confirmPasswordSTR=new String(confirmPassword);
String s5="select * from user where user_id='"+
UserTextField.getText().trim()+"'and password='"+
passwordSTR+"'";
ResultSet s4=Exlstmt.executeQuery(s5);
if(s4.next())
{
String s6="update user set password='"+
newPasswordSTR+"'where user_id='"+UserTextField.getText()
.trim()+"'";
Exlstmt.executeUpdate(s6);
ExlCon.close();
JOptionPane.showMessageDialog(null,"密码修改成功!");
}
else {
JOptionPane.showMessageDialog(null,"密码错误或者用户名不存在");
}
}
}
//用户删除
class UserDelete extends JFrame implements ActionListener
{
JPanel panel1,panel2;
Container c;
JLabel UserLabel,PasswordLabel;
JTextField UserTextField;
JPasswordField PasswordTextField;
JButton YesBtn,CancelBtn;
UserDelete()
{
super("删除用户");
c=getContentPane();
c.setLayout(new BorderLayout());
UserLabel=new JLabel("用户名",JLabel.CENTER);
PasswordLabel=new JLabel("密码",JLabel.CENTER);
UserTextField=new JTextField(10);
PasswordTextField=new JPasswordField(10);
YesBtn=new JButton("确定");
CancelBtn=new JButton("取消");
YesBtn.addActionListener(this);
CancelBtn.addActionListener(this);
panel1=new JPanel();
panel1.setLayout(new GridLayout(2,2));
panel1.add(UserLabel);
panel1.add(UserTextField);
panel1.add(PasswordLabel);
panel1.add(PasswordTextField);
panel2=new JPanel();
panel2.add(YesBtn);
panel2.add(CancelBtn);
c.add(panel1,BorderLayout.CENTER);
c.add(panel2,BorderLayout.SOUTH);
setSize(250,110);
show();
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==CancelBtn)
{
this.dispose();
}
else if(e.getSource()==YesBtn)
{
char[] password=PasswordTextField.getPassword();
String passwordSTR=new String(password);
if(UserTextField.getText().trim().equals(""))
{
JOptionPane.showMessageDialog(null,"用户名不能为空!");
}
else if(PasswordTextField.equals(""))
{
JOptionPane.showMessageDialog(null,"密码不能为空!");
}
else
{
try{Deluser();}
catch(SQLException ee){
System.out.println("SQLException:"+ee.getMessage());}
}
}
}
public void Deluser()throws SQLException
{try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}
catch(ClassNotFoundException e){
System.out.println("ForName:"+e.getMessage());}
String conURL="jdbc:odbc:Driver={MicroSoft Access Driver (*.mdb)};"+"DBQ=library.mdb";
Connection ExlCon=DriverManager.getConnection(conURL);
Statement Exlstmt=ExlCon.createStatement();
char[] password=PasswordTextField.getPassword();
String passwordSTR=new String(password);
String b5="select * from user where user_id='"+
UserTextField.getText().trim()+"'and password='"+
passwordSTR+"'";
ResultSet b4=Exlstmt.executeQuery(b5);
if(b4.next())
{
String a1="'"+UserTextField.getText().trim()+"'";
String a2="'"+PasswordTextField.getText().trim()+"'";
String temp="DELETE FROM user WHERE user_id="+a1;
Exlstmt.executeUpdate(temp);
JOptionPane.showMessageDialog(null,"用户已删除!");
ExlCon.close();
}
else {
JOptionPane.showMessageDialog(null,"用户不存在或密码不正确!");
}
}
}
//显示管理员列表
class Showuser extends JFrame implements ActionListener
{
String url="jdbc:odbc:Driver={MicroSoft Access Driver (*.mdb)};"
+"DBQ=library.mdb";
JTextArea t1;
JButton flush;
Showuser()
{
super("用户列表");
flush=new JButton("刷新");
t1=new JTextArea(16,50);
add(t1,BorderLayout.CENTER);
add(flush,BorderLayout.SOUTH);
flush.addActionListener(this);
setSize(500,300);
show();
try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}
catch(ClassNotFoundException e){
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -