From 5707a99d5f9bd28329e4136906b95bfb9f76b381 Mon Sep 17 00:00:00 2001 From: gh Date: Sun, 14 Nov 2021 23:38:10 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=B7=B2=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/dljm/jiemian.java | 248 +++++++++++++++++++++++++ src/dljm/modfour.java | 110 ++++++++++++ src/dljm/modone.java | 9 + src/dljm/modthree.java | 84 +++++++++ src/dljm/modtwo.java | 106 +++++++++++ src/table/ModelDAO.java | 56 ++++++ src/table/ModelDAOuser.java | 55 ++++++ src/table/Modeluser.java | 55 ++++++ src/table/Return.java | 100 +++++++++++ src/table/add.java | 125 +++++++++++++ src/table/adduser.java | 154 ++++++++++++++++ src/table/delate.java | 104 +++++++++++ src/table/delateuser.java | 104 +++++++++++ src/table/lookforuser.java | 110 ++++++++++++ src/table/postpone.java | 148 +++++++++++++++ src/table/seek.java | 103 +++++++++++ src/table/seek2.java | 129 +++++++++++++ src/table/update.java | 163 +++++++++++++++++ src/table/update2.java | 144 +++++++++++++++ src/table/updateadminstrator.java | 149 ++++++++++++++++ src/table/updateuser.java | 129 +++++++++++++ src/test/DAO.java | 18 ++ src/test/DAOuser.java | 18 ++ src/test/book.java | 67 +++++++ src/test/information.java | 68 +++++++ src/test/score.java | 12 ++ src/test/scoreDAo.java | 221 +++++++++++++++++++++++ src/test/user.java | 11 ++ src/test/userDAo.java | 288 ++++++++++++++++++++++++++++++ 29 files changed, 3088 insertions(+) create mode 100644 src/dljm/jiemian.java create mode 100644 src/dljm/modfour.java create mode 100644 src/dljm/modone.java create mode 100644 src/dljm/modthree.java create mode 100644 src/dljm/modtwo.java create mode 100644 src/table/ModelDAO.java create mode 100644 src/table/ModelDAOuser.java create mode 100644 src/table/Modeluser.java create mode 100644 src/table/Return.java create mode 100644 src/table/add.java create mode 100644 src/table/adduser.java create mode 100644 src/table/delate.java create mode 100644 src/table/delateuser.java create mode 100644 src/table/lookforuser.java create mode 100644 src/table/postpone.java create mode 100644 src/table/seek.java create mode 100644 src/table/seek2.java create mode 100644 src/table/update.java create mode 100644 src/table/update2.java create mode 100644 src/table/updateadminstrator.java create mode 100644 src/table/updateuser.java create mode 100644 src/test/DAO.java create mode 100644 src/test/DAOuser.java create mode 100644 src/test/book.java create mode 100644 src/test/information.java create mode 100644 src/test/score.java create mode 100644 src/test/scoreDAo.java create mode 100644 src/test/user.java create mode 100644 src/test/userDAo.java diff --git a/src/dljm/jiemian.java b/src/dljm/jiemian.java new file mode 100644 index 0000000..06701c3 --- /dev/null +++ b/src/dljm/jiemian.java @@ -0,0 +1,248 @@ +package dljm;//登录界面的制作 +import java.awt.Color; +import java.awt.Dimension; +import java.awt.FlowLayout; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; +import java.awt.BorderLayout; +import java.sql.ResultSet; + +import javax.swing.AbstractButton; +import javax.swing.ImageIcon; +import javax.swing.JButton; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JOptionPane; +import javax.swing.JPanel; +import javax.swing.JPasswordField; +import javax.swing.JTextField; + +public class jiemian { + +public static void main(String args[]) { + +} + +public void jiemian2() { + + JFrame f=new JFrame("图书管理系统登录界面"); + f.setSize(800,540); + f.setLocation(200,200); + f.setBackground(new Color(32,13,41));//背景色 + f.setLayout(null); + + JPanel pNorth=new JPanel(); + pNorth.setBounds(270,200,250,1000); + + + + JLabel IName=new JLabel("账号:"); + IName.setBounds(100,100,100,100); + JTextField tfName=new JTextField(""); + tfName.setText(""); + tfName.setPreferredSize(new Dimension(200,30)); + + JLabel IPassword=new JLabel("密码:"); + IPassword.setBounds(300,200,100,200); + JPasswordField tfPassword=new JPasswordField(""); + tfPassword.setText(""); + tfPassword.setPreferredSize(new Dimension(200,30)); + + + pNorth.add(IName); + pNorth.add(tfName); + pNorth.add(IPassword); + pNorth.add(tfPassword); + + + JLabel l = new JLabel(); + + ImageIcon background=new ImageIcon(".\\images\\R-C.png"); + + l.setIcon(background); + l.setBounds(0, 0, 800, 205); + l.setVisible(true); + f.add(l); + JButton u=new JButton("系统管理员登录"); + u.setBounds(330,400,150,50); + f.add(u); + JButton b=new JButton("图书管理员登录"); + b.setBounds(250,300,150,50); + f.add(b); + JButton c=new JButton("借阅者登录"); + c.setBounds(450,300,150,50); + f.add(c); + + b.addActionListener(new ActionListener(){ + @Override + public void actionPerformed(ActionEvent e) { + String name=tfName.getText(); + String password=new String(tfPassword.getPassword()); + if(0==name.length()) { + JOptionPane.showMessageDialog(f, "账号不能为空"); + tfName.grabFocus(); + return; + } + if(0==password.length()) { + JOptionPane.showMessageDialog(f,"密码不能为空"); + tfPassword.grabFocus(); + return; + } + if(check(name,password)) + { + JOptionPane.showMessageDialog(f, "登陆成功"); + modtwo modtwo1=new modtwo(); + f.dispose(); + modtwo1.de2(); + } + else + JOptionPane.showMessageDialog(f, "密码错误"); + } + + }); + u.addActionListener(new ActionListener(){ + @Override + public void actionPerformed(ActionEvent e) { + final String name=tfName.getText(); + String password=new String(tfPassword.getPassword()); + if(0==name.length()) { + JOptionPane.showMessageDialog(f, "账号不能为空"); + tfName.grabFocus(); + return; + } + if(0==password.length()) { + JOptionPane.showMessageDialog(f,"密码不能为空"); + tfPassword.grabFocus(); + return; + } + if(check3(name,password)) + { + JOptionPane.showMessageDialog(f, "登陆成功"); + modfour modfour1=new modfour(); + f.dispose(); + modfour1.dex1(); + } + else + JOptionPane.showMessageDialog(f, "密码错误"); + } + + }); + c.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + String name=tfName.getText(); + String password=new String(tfPassword.getPassword()); + if(0==name.length()) { + JOptionPane.showMessageDialog(f,"账号不能为空"); + tfName.grabFocus(); + return; + } + if(check2(name,password)) + { + JOptionPane.showMessageDialog(f, "登陆成功"); + f.dispose(); + modthree modthree1=new modthree(); + modthree1.dex(); + + } + else + JOptionPane.showMessageDialog(f, "密码错误"); + } + + + }); + + String input=tfName.getText(); + f.add(pNorth); + f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + f.setVisible(true); + +} + +public static boolean check(String name,String password) { + String userPwd="12"; + String userName="sa"; + try { + Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); + }catch(ClassNotFoundException e) { + e.printStackTrace(); + } + boolean result=false; + try{ + Connection c=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=Test","sa","12"); + Statement s=c.createStatement(); + System.out.println("连接成功"); + + + String sql = "select * from 用户登录信息 where name = '" + name +"' and password = '" + password+"'"; + + ResultSet rs=s.executeQuery(sql); + System.out.println(sql); + if(rs.next()) + result=true; + + + }catch(SQLException e) { + e.printStackTrace(); + System.out.println("连接失败"); + } + return result; +} + +public static boolean check2(String name,String password) { + String userPwd1="12"; + String userName1="sa"; + try { + Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); + }catch(ClassNotFoundException e) { + e.printStackTrace(); + + } + boolean result=false; + try(Connection c=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=Test",userName1,userPwd1); + Statement s=c.createStatement(); + + ){ + String sql = "select * from 借阅者信息 where number = '" + name +"' and password = '" + password+"'"; + ResultSet rs = s.executeQuery(sql); + if(rs.next()) + result=true; + + }catch(SQLException e) { + e.printStackTrace(); + System.out.println("连接失败"); + } + return result; +} + +public static boolean check3(String name,String password) { + String userPwd1="12"; + String userName1="sa"; + try { + Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); + }catch(ClassNotFoundException e) { + e.printStackTrace(); + + } + boolean result=false; + try(Connection c=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=Test",userName1,userPwd1); + Statement s=c.createStatement(); + + ){ + String sql = "select * from 用户登录信息1 where name = '" + name +"' and password = '" + password+"'"; + ResultSet rs = s.executeQuery(sql); + if(rs.next()) + result=true; + + }catch(SQLException e) { + e.printStackTrace(); + System.out.println("连接失败"); + } + return result; +} +} \ No newline at end of file diff --git a/src/dljm/modfour.java b/src/dljm/modfour.java new file mode 100644 index 0000000..4aecaff --- /dev/null +++ b/src/dljm/modfour.java @@ -0,0 +1,110 @@ +package dljm; +import table.seek2; +import table.adduser; +import table.Return; +import table.postpone; +import table.update2; +import javax.swing.*; +import java.awt.event.*; +import table.delateuser; +import table.updateuser; +import table.lookforuser; +import table.updateadminstrator; +public class modfour { + public static void main(String args[]) { + + } +public void dex1() { + + JFrame f = new JFrame("图书管理系统");//设置窗口 + f.setSize(800, 600); + f.setLocation(100, 100); + f.setLayout(null); + + JLabel l = new JLabel(); + + ImageIcon i = new ImageIcon(".\\images\\picture.png");//添加图片 + l.setIcon(i); + l.setBounds(0, 30, 800, 570); + + JButton c = new JButton("添加用户"); + JButton d = new JButton("删除用户"); + JButton e = new JButton("查询用户"); + JButton v = new JButton("修改用户"); + JButton a2 = new JButton("退出系统"); + a2.setBounds(580, 1, 140, 30); + c.setBounds(20, 1, 140, 30); + d.setBounds(160, 1, 140, 30); + e.setBounds(300, 1, 140, 30); + v.setBounds(440, 1, 140, 30); + + + // 给按钮 增加 监听 + + c.addActionListener(new ActionListener() { + + // 当按钮被点击时,就会触发 ActionEvent事件 + // actionPerformed 方法就会被执行 + public void actionPerformed(ActionEvent e) { + adduser add2 = new adduser(); + add2.de10(); + + } + }); + + d.addActionListener(new ActionListener() { + + // 当按钮被点击时,就会触发 ActionEvent事件 + // actionPerformed 方法就会被执行 + public void actionPerformed(ActionEvent e) { + delateuser delate3 = new delateuser(); + delate3.de11(); + + } + }); + e.addActionListener(new ActionListener() { + + // 当按钮被点击时,就会触发 ActionEvent事件 + // actionPerformed 方法就会被执行 + public void actionPerformed(ActionEvent e) { + lookforuser lookfor1 = new lookforuser(); + lookfor1.de13(); + + } + }); + v.addActionListener(new ActionListener() { + + // 当按钮被点击时,就会触发 ActionEvent事件 + // actionPerformed 方法就会被执行 + public void actionPerformed(ActionEvent e) { + updateadminstrator update7 = new updateadminstrator(); + update7.de12(); + + } + }); + a2.addActionListener(new ActionListener() { + + // 当按钮被点击时,就会触发 ActionEvent事件 + // actionPerformed 方法就会被执行 + public void actionPerformed(ActionEvent e) { + f.dispose(); + } + }); + + + + + f.add(l);//按钮加进去 + + f.add(c); + f.add(d); + f.add(a2); + f.add(e); + f.add(v); + + f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭 + + f.setVisible(true);//可见 +} + + } \ No newline at end of file diff --git a/src/dljm/modone.java b/src/dljm/modone.java new file mode 100644 index 0000000..62c9ce9 --- /dev/null +++ b/src/dljm/modone.java @@ -0,0 +1,9 @@ +package dljm; + +public class modone { +public static void main(String args[]) { + jiemian a=new jiemian(); + a.jiemian2(); + +} +} diff --git a/src/dljm/modthree.java b/src/dljm/modthree.java new file mode 100644 index 0000000..507c0a4 --- /dev/null +++ b/src/dljm/modthree.java @@ -0,0 +1,84 @@ +package dljm; +import table.seek2; +import table.Return; +import table.postpone; +import javax.swing.*; +import java.awt.event.*; +import table.lookforuser; +import table.adduser; +import table.delateuser; +import table.updateuser; +public class modthree { + public static void main(String args[]) { + + } +public void dex() { + + JFrame f = new JFrame("图书管理系统");//设置窗口 + f.setSize(800, 600); + f.setLocation(100, 100); + f.setLayout(null); + + JLabel l = new JLabel(); + + ImageIcon i = new ImageIcon(".\\images\\5.png");//添加图片 + l.setIcon(i); + l.setBounds(0, 31, 800, 569); + + + JButton n=new JButton("借阅查询"); + JButton e = new JButton("延期归还"); + JButton a2 = new JButton("退出系统"); + a2.setBounds(500, 1, 140, 30); + + n.setBounds(100,1,140,30); + e.setBounds(300, 1, 140, 30); + + + // 给按钮 增加 监听 + + e.addActionListener(new ActionListener() { + + // 当按钮被点击时,就会触发 ActionEvent事件 + // actionPerformed 方法就会被执行 + public void actionPerformed(ActionEvent e) { + updateuser update6 = new updateuser(); + update6.de12(); + + } + }); + n.addActionListener(new ActionListener() { + + // 当按钮被点击时,就会触发 ActionEvent事件 + // actionPerformed 方法就会被执行 + public void actionPerformed(ActionEvent e) { + seek2 seek1 = new seek2(); + seek1.de3(); + + } + }); + a2.addActionListener(new ActionListener() { + + // 当按钮被点击时,就会触发 ActionEvent事件 + // actionPerformed 方法就会被执行 + public void actionPerformed(ActionEvent e) { + f.dispose(); + } + }); + + + + + f.add(l);//按钮加进去 + + + f.add(a2); + f.add(n); + f.add(e); + + f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭 + + f.setVisible(true);//可见 +} + + } \ No newline at end of file diff --git a/src/dljm/modtwo.java b/src/dljm/modtwo.java new file mode 100644 index 0000000..c05abc3 --- /dev/null +++ b/src/dljm/modtwo.java @@ -0,0 +1,106 @@ +package dljm; + +import table.add; +import table.delate; +import table.seek; +import table.update; +import javax.swing.*; + +import java.awt.Dimension; +import java.awt.event.*; +public class modtwo { + public static void main(String args[]) { + + } +public void de2() { + + JFrame f = new JFrame("图书管理系统");//设置窗口 + f.setSize(800, 600); + f.setLocation(100, 100); + f.setLayout(null); + + JLabel l = new JLabel(); + + ImageIcon i = new ImageIcon(".\\images\\R-C3.png");//添加图片 + l.setIcon(i); + l.setBounds(0, 31, i.getIconWidth(), i.getIconHeight()); + + JButton a = new JButton("增加图书");//按钮名称 + JButton b = new JButton("删除图书"); + JButton c = new JButton("搜索图书"); + JButton d = new JButton("图书管理"); + JButton a1 = new JButton("管理用户"); + JButton a2 = new JButton("退出系统"); + + a.setBounds(0, 1, 140, 30);//按钮位置和大小 + b.setBounds(141, 1, 140, 30); + c.setBounds(282, 1, 140, 30); + d.setBounds(423, 1, 140, 30); + a2.setBounds(563, 1, 100, 30); + a1.setBounds(664, 1, 100, 30); + + // 给按钮 增加 监听 + a.addActionListener(new ActionListener() { + + // 当按钮被点击时,就会触发 ActionEvent事件 + // actionPerformed 方法就会被执行 + public void actionPerformed(ActionEvent e) { + add add1 = new add(); + add1.de1(); + } + }); + b.addActionListener(new ActionListener() { + + // 当按钮被点击时,就会触发 ActionEvent事件 + // actionPerformed 方法就会被执行 + public void actionPerformed(ActionEvent e) { + delate add1 = new delate(); + add1.de2(); + + } + }); + c.addActionListener(new ActionListener() { + + // 当按钮被点击时,就会触发 ActionEvent事件 + // actionPerformed 方法就会被执行 + public void actionPerformed(ActionEvent e) { + seek add2 = new seek(); + add2.de3(); + + } + }); + d.addActionListener(new ActionListener() { + + // 当按钮被点击时,就会触发 ActionEvent事件 + // actionPerformed 方法就会被执行 + public void actionPerformed(ActionEvent e) { + update add2 = new update(); + add2.de4(); + + } + }); + a2.addActionListener(new ActionListener() { + + // 当按钮被点击时,就会触发 ActionEvent事件 + // actionPerformed 方法就会被执行 + public void actionPerformed(ActionEvent e) { + f.dispose(); + } + }); + + + f.add(l);//按钮加进去 + f.add(a); + f.add(b); + f.add(c); + f.add(d); + f.add(a2); + + + f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭 + + f.setVisible(true);//可见 +} + + } + diff --git a/src/table/ModelDAO.java b/src/table/ModelDAO.java new file mode 100644 index 0000000..ff5f104 --- /dev/null +++ b/src/table/ModelDAO.java @@ -0,0 +1,56 @@ +package table; + +import java.util.List; + +import javax.swing.table.AbstractTableModel; + +import test.scoreDAo; +import test.score; + +public class ModelDAO extends AbstractTableModel { + + String[] columnNames = new String[] { "图书名", "类别", "图书编号", "借阅状态", "应归还时间", "延期时间" }; + + + + public List scores = new scoreDAo().list(); + + + public int getRowCount() { + + return scores.size(); + } + + public int getColumnCount() { + + return columnNames.length; + } + + public String getColumnName(int columnIndex) { + + return columnNames[columnIndex]; + } + + public boolean isCellEditable(int rowIndex, int columnIndex) { + return false; + } + + + public Object getValueAt(int rowIndex, int columnIndex) { + score h = scores.get(rowIndex); + if (0 == columnIndex) + return h.name; + if (1 == columnIndex) + return h.myclass; + if (2 == columnIndex) + return h.number; + if (3 == columnIndex) + return h.Chinesegrade; + if (4 == columnIndex) + return h.Mathgrade; + if (5 == columnIndex) + return h.Englishgrade; + return null; + } + +} \ No newline at end of file diff --git a/src/table/ModelDAOuser.java b/src/table/ModelDAOuser.java new file mode 100644 index 0000000..ec50d3e --- /dev/null +++ b/src/table/ModelDAOuser.java @@ -0,0 +1,55 @@ +package table; + +import java.util.List; + +import javax.swing.table.AbstractTableModel; + +import test.userDAo; +import test.user; + +public class ModelDAOuser extends AbstractTableModel { + + String[] columnNames = new String[] { "账号", "密码", "个人联系信息", "借阅图书", "归还日期", "延期日期" }; + + + + public List users = new userDAo().list(); + + + public int getRowCount() { + + return users.size(); + } + + public int getColumnCount() { + + return columnNames.length; + } + + public String getColumnName(int columnIndex) { + + return columnNames[columnIndex]; + } + + public boolean isCellEditable(int rowIndex, int columnIndex) { + return false; + } + public Object getValueAt(int rowIndex, int columnIndex) { + + user h = users.get(rowIndex); + if (0 == columnIndex) + return h.number; + if (1 == columnIndex) + return h.password; + if (2 == columnIndex) + return h.telephone; + if (3 == columnIndex) + return h.condition; + if (4 == columnIndex) + return h.dueback; + if (5 == columnIndex) + return h.dating; + return null; + } + +} \ No newline at end of file diff --git a/src/table/Modeluser.java b/src/table/Modeluser.java new file mode 100644 index 0000000..154c92a --- /dev/null +++ b/src/table/Modeluser.java @@ -0,0 +1,55 @@ +package table; + +import java.util.List; + +import javax.swing.table.AbstractTableModel; + +import test.userDAo; +import test.user; + +public class Modeluser extends AbstractTableModel { + + String[] columnNames = new String[] { "账号", "密码", "个人联系信息", "借阅图书", "归还日期", "延期日期" }; + + + + public List users = new userDAo().list(); + + + public int getRowCount() { + + return 1; + } + + public int getColumnCount() { + + return columnNames.length; + } + + public String getColumnName(int columnIndex) { + + return columnNames[columnIndex]; + } + + public boolean isCellEditable(int rowIndex, int columnIndex) { + return false; + } + public Object getValueAt(int rowIndex, int columnIndex) { + + user h = users.get(rowIndex); + if (0 == columnIndex) + return h.number; + if (1 == columnIndex) + return h.password; + if (2 == columnIndex) + return h.telephone; + if (3 == columnIndex) + return h.condition; + if (4 == columnIndex) + return h.dueback; + if (5 == columnIndex) + return h.dating; + return null; + } + +} \ No newline at end of file diff --git a/src/table/Return.java b/src/table/Return.java new file mode 100644 index 0000000..66f8272 --- /dev/null +++ b/src/table/Return.java @@ -0,0 +1,100 @@ +package table; + +import java.awt.BorderLayout; +import java.awt.Dimension; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + +import javax.swing.JButton; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JOptionPane; +import javax.swing.JPanel; +import javax.swing.JScrollPane; +import javax.swing.JTable; +import javax.swing.JTextField; + + +import test.scoreDAo; +import test.score; + +public class Return { + +public void de4() { + + + JFrame f = new JFrame("归还图书"); + f.setSize(800, 300); + f.setLocation(200, 200); + f.setLayout(new BorderLayout()); + + final ModelDAO htm = new ModelDAO(); + + final JTable t = new JTable(htm); + + JPanel p = new JPanel(); + + final JLabel lnumber = new JLabel("图书编号"); + final JTextField tfnumber = new JTextField(""); + tfnumber.setText(""); + + JButton bAdd = new JButton("归还"); + + tfnumber.setPreferredSize(new Dimension(120, 30)); + + + JButton a5 = new JButton("返回"); + p.add(lnumber); + p.add(tfnumber); + p.add(bAdd); + p.add(a5); + a5.addActionListener(new ActionListener() { + + @Override + public void actionPerformed(ActionEvent e) { + f.dispose(); + } + }); + + + + + // 为增加按钮添加监听 + bAdd.addActionListener(new ActionListener() { + + @Override + public void actionPerformed(ActionEvent e) { + + String name = tfnumber.getText(); + if(0==name.length()){ + JOptionPane.showMessageDialog(f, "输入错误!"); + tfnumber.grabFocus(); + + return; + } + + scoreDAo dao = new scoreDAo(); + + + score h = new score(); + h.number= Integer.parseInt(tfnumber.getText()); + + dao.delete(h.number); + + + htm.scores = dao.list(); + + t.updateUI(); + } + }); + + JScrollPane sp = new JScrollPane(t); + + f.add(p, BorderLayout.NORTH); + f.add(sp, BorderLayout.CENTER); + + f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + + f.setVisible(true); + } +} \ No newline at end of file diff --git a/src/table/add.java b/src/table/add.java new file mode 100644 index 0000000..1d16399 --- /dev/null +++ b/src/table/add.java @@ -0,0 +1,125 @@ +package table; + +import java.awt.BorderLayout; +import java.awt.Dimension; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + + + + +import javax.swing.JButton; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JOptionPane; +import javax.swing.JPanel; +import javax.swing.JScrollPane; +import javax.swing.JTable; +import javax.swing.JTextField; + + + + +import test.scoreDAo; +import test.score; + +public class add { + +public void de1() { + + + JFrame f = new JFrame("增加图书信息"); + f.setSize(800, 300); + f.setLocation(200, 200); + f.setLayout(new BorderLayout()); + + final ModelDAO htm = new ModelDAO(); + + final JTable t = new JTable(htm); + + JPanel p = new JPanel(); + + final JLabel lName = new JLabel("图书名"); + final JTextField tfName = new JTextField(""); + final JLabel lmyclass = new JLabel("图书类"); + final JTextField tfmyclass = new JTextField(""); + + final JLabel lnumber = new JLabel("图书编号"); + final JTextField tfnumber = new JTextField(""); + + + JButton bAdd = new JButton("增加"); + tfName.setPreferredSize(new Dimension(100, 30)); + tfmyclass.setPreferredSize(new Dimension(100, 30)); + tfnumber.setPreferredSize(new Dimension(120, 30)); + + p.add(lName); + p.add(tfName); + p.add(lmyclass); + p.add(tfmyclass); + + p.add(lnumber); + p.add(tfnumber); + + + p.add(bAdd); + + + JButton a5 = new JButton("返回"); + p.add(a5); + a5.addActionListener(new ActionListener() { + + + public void actionPerformed(ActionEvent e) { + f.dispose(); + } + }); + + + bAdd.addActionListener(new ActionListener() { + + + public void actionPerformed(ActionEvent e) { + + String name = tfName.getText(); + String name1 = tfmyclass.getText(); + String name2 = tfnumber.getText(); + + if(0==name.length()||0==name1.length()||0==name2.length()){ + JOptionPane.showMessageDialog(f, "输入错误!"); + tfnumber.grabFocus(); + + return; + } + + scoreDAo dao = new scoreDAo(); + + + score h = new score(); + h.name = tfName.getText(); + h.myclass= tfmyclass.getText(); + h.number= Integer.parseInt(tfnumber.getText()); + JOptionPane.showMessageDialog(f, "添加成功"); + + + + dao.add(h); + + + htm.scores = dao.list(); + + + t.updateUI(); + } + }); + + JScrollPane sp = new JScrollPane(t); + + f.add(p, BorderLayout.NORTH); + f.add(sp, BorderLayout.CENTER); + + f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + + f.setVisible(true); + } +} \ No newline at end of file diff --git a/src/table/adduser.java b/src/table/adduser.java new file mode 100644 index 0000000..5346be2 --- /dev/null +++ b/src/table/adduser.java @@ -0,0 +1,154 @@ +package table; + +import java.awt.BorderLayout; +import java.awt.Dimension; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + + + + +import javax.swing.JButton; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JOptionPane; +import javax.swing.JPanel; +import javax.swing.JScrollPane; +import javax.swing.JTable; +import javax.swing.JTextField; + + + + +import test.userDAo; +import test.user; + +public class adduser { + +public void de10() { + + + JFrame f = new JFrame("添加用户信息"); + f.setSize(1000, 400); + f.setLocation(200, 200); + f.setLayout(new BorderLayout()); + + final ModelDAOuser htm = new ModelDAOuser(); + + + final JTable t = new JTable(htm); + + JPanel p = new JPanel(); + + final JLabel lName = new JLabel("账号"); + final JTextField tfName = new JTextField(""); + final JLabel lmyclass = new JLabel("密码"); + final JTextField tfmyclass = new JTextField(""); + final JLabel lmynumber = new JLabel("个人联系信息"); + final JTextField tfmynumber = new JTextField(""); + final JLabel lChinesegrade = new JLabel("借阅图书"); + final JTextField tfChinesegrade = new JTextField(""); + final JLabel lMathgrade = new JLabel("归还日期"); + final JTextField tfMathgrade = new JTextField(""); + final JLabel lEnglishgrade = new JLabel("延期日期"); + final JTextField tfEnglishgrade = new JTextField(""); + + + + JButton bAdd = new JButton("增加"); + tfName.setPreferredSize(new Dimension(70, 30)); + tfmyclass.setPreferredSize(new Dimension(70, 30)); + tfmynumber.setPreferredSize(new Dimension(70, 30)); + tfChinesegrade.setPreferredSize(new Dimension(70, 30)); + tfMathgrade.setPreferredSize(new Dimension(70, 30)); + tfEnglishgrade.setPreferredSize(new Dimension(70, 30)); + + + p.add(lName); + p.add(tfName); + p.add(lmyclass); + p.add(tfmyclass); + p.add(lmynumber); + p.add(tfmynumber); + p.add(lChinesegrade); + p.add(tfChinesegrade); + p.add(lMathgrade); + p.add(tfMathgrade); + p.add(lEnglishgrade); + p.add(tfEnglishgrade); + + + p.add(bAdd); + + + JButton a5 = new JButton("返回"); + p.add(a5); + a5.addActionListener(new ActionListener() { + + + public void actionPerformed(ActionEvent e) { + f.dispose(); + } + }); + + + bAdd.addActionListener(new ActionListener() { + + + public void actionPerformed(ActionEvent e) { + + String name = tfName.getText(); + String name1 = tfmyclass.getText(); + String name2=tfmynumber.getText(); + String name3=tfChinesegrade.getText(); + String name4=tfMathgrade.getText(); + String name5=tfEnglishgrade.getText(); + + + if(0==name.length()){ + JOptionPane.showMessageDialog(f, "账号不能为空"); + tfmynumber.grabFocus(); + } + else if(0==name1.length()) { + JOptionPane.showMessageDialog(f, "密码不能为空"); + + return; + } + + userDAo dao = new userDAo(); + + + user h = new user(); + + h.password = tfmyclass.getText(); + h.telephone= tfmynumber.getText(); + h.number=Integer.parseInt(tfName.getText()); + + + + + + + dao.addm(h); + + + htm.users = dao.list(); + + + t.updateUI(); + if(0!=name.length()) { + JOptionPane.showMessageDialog(f, "添加成功"); + } + } + }); + + JScrollPane sp = new JScrollPane(t); + + f.add(p, BorderLayout.NORTH); + f.add(sp, BorderLayout.CENTER); + + f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + + f.setVisible(true); + } +} \ No newline at end of file diff --git a/src/table/delate.java b/src/table/delate.java new file mode 100644 index 0000000..71e09f1 --- /dev/null +++ b/src/table/delate.java @@ -0,0 +1,104 @@ +package table; + +import java.awt.BorderLayout; +import java.awt.Dimension; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + +import javax.swing.JButton; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JOptionPane; +import javax.swing.JPanel; +import javax.swing.JScrollPane; +import javax.swing.JTable; +import javax.swing.JTextField; + + +import test.scoreDAo; +import test.score; + +public class delate { + +public void de2() { + + + JFrame f = new JFrame("删除图书"); + f.setSize(800, 400); + f.setLocation(200, 200); + f.setLayout(new BorderLayout()); + + final ModelDAO htm = new ModelDAO(); + + final JTable t = new JTable(htm); + + JPanel p = new JPanel(); + + final JLabel lnumber = new JLabel("图书编号"); + final JTextField tfnumber = new JTextField(""); + tfnumber.setText(""); + + JButton bAdd = new JButton("删除"); + + tfnumber.setPreferredSize(new Dimension(120, 30)); + + + JButton a5 = new JButton("返回"); + p.add(lnumber); + p.add(tfnumber); + p.add(bAdd); + p.add(a5); + a5.addActionListener(new ActionListener() { + + @Override + public void actionPerformed(ActionEvent e) { + f.dispose(); + } + }); + + + + + // 为增加按钮添加监听 + bAdd.addActionListener(new ActionListener() { + + @Override + public void actionPerformed(ActionEvent e) { + + String name = tfnumber.getText(); + if(0==name.length()){ + JOptionPane.showMessageDialog(f, "输入错误!"); + tfnumber.grabFocus(); + + return; + } + + scoreDAo dao = new scoreDAo(); + + + score h = new score(); + h.number= Integer.parseInt(tfnumber.getText()); + + dao.delete(h.number); + + + htm.scores = dao.list(); + + t.updateUI(); + if(0!=name.length()) { + JOptionPane.showMessageDialog(f,"删除成功"); + return; } + + } + }); + + JScrollPane sp = new JScrollPane(t); + + f.add(p, BorderLayout.NORTH); + f.add(sp, BorderLayout.CENTER); + + f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + + f.setVisible(true); + } +} \ No newline at end of file diff --git a/src/table/delateuser.java b/src/table/delateuser.java new file mode 100644 index 0000000..256a523 --- /dev/null +++ b/src/table/delateuser.java @@ -0,0 +1,104 @@ +package table; + +import java.awt.BorderLayout; +import java.awt.Dimension; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + +import javax.swing.JButton; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JOptionPane; +import javax.swing.JPanel; +import javax.swing.JScrollPane; +import javax.swing.JTable; +import javax.swing.JTextField; + + +import test.userDAo; +import test.user; + +public class delateuser { + +public void de11() { + + + JFrame f = new JFrame("删除借阅者信息"); + f.setSize(600, 350); + f.setLocation(200, 200); + f.setLayout(new BorderLayout()); + + final ModelDAOuser htm = new ModelDAOuser(); + + final JTable t = new JTable(htm); + + JPanel p = new JPanel(); + + final JLabel lnumber = new JLabel("账号"); + final JTextField tfnumber = new JTextField(""); + tfnumber.setText(""); + + JButton bAdd = new JButton("删除"); + + tfnumber.setPreferredSize(new Dimension(120, 30)); + + + JButton a5 = new JButton("返回"); + p.add(lnumber); + p.add(tfnumber); + p.add(bAdd); + p.add(a5); + a5.addActionListener(new ActionListener() { + + @Override + public void actionPerformed(ActionEvent e) { + f.dispose(); + } + }); + + + + + // 为增加按钮添加监听 + bAdd.addActionListener(new ActionListener() { + + @Override + public void actionPerformed(ActionEvent e) { + + String name = tfnumber.getText(); + if(0==name.length()){ + JOptionPane.showMessageDialog(f, "输入错误!"); + tfnumber.grabFocus(); + + return; + } + + userDAo dao = new userDAo(); + + + user h = new user(); + h.number= Integer.parseInt(tfnumber.getText()); + + dao.delete(h.number); + + + htm.users = dao.list(); + + t.updateUI(); + if(0!=name.length()){ + JOptionPane.showMessageDialog(f, "删除成功"); + tfnumber.grabFocus();} + + } + }); + + JScrollPane sp = new JScrollPane(t); + + f.add(p, BorderLayout.NORTH); + f.add(sp, BorderLayout.CENTER); + + f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + + f.setVisible(true); + } +} \ No newline at end of file diff --git a/src/table/lookforuser.java b/src/table/lookforuser.java new file mode 100644 index 0000000..0a64619 --- /dev/null +++ b/src/table/lookforuser.java @@ -0,0 +1,110 @@ +package table; + +import java.awt.BorderLayout; +import java.awt.Dimension; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + + + + +import javax.swing.JButton; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JOptionPane; +import javax.swing.JPanel; +import javax.swing.JScrollPane; +import javax.swing.JTable; +import javax.swing.JTextField; +import javax.swing.ListSelectionModel; + + + + + + +import test.userDAo; +import test.user; + +public class lookforuser { + +public void de13() { + + + JFrame f = new JFrame("查找用户信息"); + f.setSize(600, 350); + f.setLocation(200, 200); + f.setLayout(new BorderLayout()); + + final ModelDAOuser htm = new ModelDAOuser(); + + final JTable t = new JTable(htm); + + t.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); + + t.getSelectionModel().setSelectionInterval(0, 0); + JPanel p = new JPanel(); + + final JLabel lname = new JLabel("账号"); + final JTextField tfname = new JTextField(""); + + JButton bAdd = new JButton("查找"); + + tfname.setPreferredSize(new Dimension(120, 30)); + + JButton a5 = new JButton("返回"); + p.add(lname); + p.add(tfname); + p.add(bAdd); + + p.add(a5); + a5.addActionListener(new ActionListener() { + + @Override + public void actionPerformed(ActionEvent e) { + f.dispose(); + } + }); + + + + bAdd.addActionListener(new ActionListener() { + + + public void actionPerformed(ActionEvent e) { + + String name = tfname.getText(); + if(0==name.length()){ + JOptionPane.showMessageDialog(f, "请输入账号!"); + tfname.grabFocus(); + + return; + } + + userDAo dao = new userDAo(); + + + user h = new user(); + h.number= Integer.parseInt(tfname.getText()); + + int a = dao.seek(h.number); + t.getSelectionModel().setSelectionInterval(a-1, a-1); + + htm.users = dao.list(); + + + t.updateUI(); + } + }); + + + JScrollPane sp = new JScrollPane(t); + + f.add(p, BorderLayout.NORTH); + f.add(sp, BorderLayout.CENTER); + + f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + + f.setVisible(true); + } +} \ No newline at end of file diff --git a/src/table/postpone.java b/src/table/postpone.java new file mode 100644 index 0000000..dc796aa --- /dev/null +++ b/src/table/postpone.java @@ -0,0 +1,148 @@ +package table; + + +import java.awt.BorderLayout; +import java.awt.Dimension; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + + + + +import javax.swing.JButton; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JOptionPane; +import javax.swing.JPanel; +import javax.swing.JScrollPane; +import javax.swing.JTable; +import javax.swing.JTextField; + + + + +import test.scoreDAo; +import test.score; + +public class postpone { + +public void de5() { + + + JFrame f = new JFrame("延期界面"); + f.setSize(800, 300); + f.setLocation(200, 200); + f.setLayout(new BorderLayout()); + + final ModelDAO htm = new ModelDAO(); + + final JTable t = new JTable(htm); + + JPanel p = new JPanel(); + + + + final JLabel lname = new JLabel("图书名"); + final JTextField tfname = new JTextField(""); + final JLabel lmyclass = new JLabel("类别"); + final JTextField tfmyclass = new JTextField(""); + final JLabel lnumber = new JLabel("图书编号"); + final JTextField tfnumber = new JTextField(""); + final JLabel lChinesegrade = new JLabel("借阅时间"); + final JTextField tfChinesegrade = new JTextField(""); + + final JLabel lMathgrade = new JLabel("应归还时间"); + final JTextField tfMathgrade = new JTextField(""); + final JLabel lEnglishgrade = new JLabel("延期时间"); + final JTextField tfEnglishgrade = new JTextField(""); + + JButton bAdd = new JButton("延期"); + + tfname.setPreferredSize(new Dimension(40,30)); + tfmyclass.setPreferredSize(new Dimension(40,30)); + tfnumber.setPreferredSize(new Dimension(40, 30)); + tfChinesegrade.setPreferredSize(new Dimension(40, 30)); + tfMathgrade.setPreferredSize(new Dimension(40, 30)); + tfEnglishgrade.setPreferredSize(new Dimension(40, 30)); + + p.add(lname); + p.add(tfname); + p.add(lmyclass); + p.add(tfmyclass); + p.add(lnumber); + p.add(tfnumber); + p.add(lChinesegrade); + p.add(tfChinesegrade); + + + p.add(lMathgrade); + p.add(tfMathgrade); + p.add(lEnglishgrade); + p.add(tfEnglishgrade); + p.add(bAdd); + + JButton a5 = new JButton("返回"); + p.add(a5); + a5.addActionListener(new ActionListener() { + + @Override + public void actionPerformed(ActionEvent e) { + f.dispose(); + } + }); + + + // 为增加按钮添加监听 + bAdd.addActionListener(new ActionListener() { + + @Override + public void actionPerformed(ActionEvent e) { + + + String name2 = tfnumber.getText(); + String name1=tfname.getText(); + String name3 = tfChinesegrade.getText(); + String name4 = tfMathgrade.getText(); + String name5 = tfEnglishgrade.getText(); + String name6=tfmyclass.getText(); + if(0==name6.length()||0==name1.length()||0==name2.length()||0==name3.length()||0==name4.length()||0==name5.length()){ + JOptionPane.showMessageDialog(f, "输入错误!"); + tfnumber.grabFocus(); + + return; + } + scoreDAo dao = new scoreDAo(); + + + score h = new score(); + h.name=tfname.getText(); + h.myclass=tfmyclass.getText(); + h.number= Integer.parseInt(tfnumber.getText()); + h.Chinesegrade=tfChinesegrade.getText(); + h.Mathgrade=tfMathgrade.getText(); + h.Englishgrade=tfEnglishgrade.getText(); + + + + + + dao.update(h); + + + htm.scores = dao.list(); + + + t.updateUI(); + } + }); + + JScrollPane sp = new JScrollPane(t); + + f.add(p, BorderLayout.NORTH); + f.add(sp, BorderLayout.CENTER); + + f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + + f.setVisible(true); + } +} diff --git a/src/table/seek.java b/src/table/seek.java new file mode 100644 index 0000000..bd586e5 --- /dev/null +++ b/src/table/seek.java @@ -0,0 +1,103 @@ +package table; + +import java.awt.BorderLayout; +import java.awt.Dimension; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + +import javax.swing.JButton; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JOptionPane; +import javax.swing.JPanel; +import javax.swing.JScrollPane; +import javax.swing.JTable; +import javax.swing.JTextField; +import javax.swing.ListSelectionModel; + +import test.score; +import test.scoreDAo; + +public class seek { + +public void de3() { + + + JFrame f = new JFrame("查找图书信息"); + f.setSize(800, 400); + f.setLocation(200, 200); + f.setLayout(new BorderLayout()); + + final ModelDAO htm = new ModelDAO(); + + final JTable t = new JTable(htm); + + t.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); + + t.getSelectionModel().setSelectionInterval(0, 0); + JPanel p = new JPanel(); + + final JLabel lnumber = new JLabel("图书编号"); + final JTextField tfnumber = new JTextField(""); + + JButton bAdd = new JButton("查找"); + + tfnumber.setPreferredSize(new Dimension(120, 30)); + + JButton a5 = new JButton("返回"); + + p.add(lnumber); + p.add(tfnumber); + p.add(bAdd); + + p.add(a5); + a5.addActionListener(new ActionListener() { + + @Override + public void actionPerformed(ActionEvent e) { + f.dispose(); + } + }); + + + bAdd.addActionListener(new ActionListener() { + + + public void actionPerformed(ActionEvent e) { + + String name = tfnumber.getText(); + if(0==name.length()){ + JOptionPane.showMessageDialog(f, "输入错误!"); + tfnumber.grabFocus(); + + return; + } + + scoreDAo dao = new scoreDAo(); + + + score h = new score(); + h.number= Integer.parseInt(tfnumber.getText()); + + int a = dao.seek(h.number); + t.getSelectionModel().setSelectionInterval(a-1, a-1); + + htm.scores = dao.list(); + + + t.updateUI(); + + } + }); + + + JScrollPane sp = new JScrollPane(t); + + f.add(p, BorderLayout.NORTH); + f.add(sp, BorderLayout.CENTER); + + f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + + f.setVisible(true); + } +} \ No newline at end of file diff --git a/src/table/seek2.java b/src/table/seek2.java new file mode 100644 index 0000000..4c8c5a1 --- /dev/null +++ b/src/table/seek2.java @@ -0,0 +1,129 @@ +package table; + +import java.awt.BorderLayout; +import java.awt.Dimension; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + + + + +import javax.swing.JButton; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JOptionPane; +import javax.swing.JPanel; +import javax.swing.JScrollPane; +import javax.swing.JTable; +import javax.swing.JTextField; +import javax.swing.ListSelectionModel; + + + + + + +import test.scoreDAo; +import test.score; + +public class seek2 { + +public void de3() { + + + JFrame f = new JFrame("查阅图书信息"); + f.setSize(800, 300); + f.setLocation(200, 200); + f.setLayout(new BorderLayout()); + + final ModelDAO htm = new ModelDAO(); + + final JTable t = new JTable(htm); + + t.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); + + t.getSelectionModel().setSelectionInterval(0, 0); + JPanel p = new JPanel(); + + + final JLabel lname = new JLabel("图书名"); + final JTextField tfname = new JTextField(""); + + + final JLabel lnumber = new JLabel("图书编号"); + final JTextField tfnumber = new JTextField(""); + + + + JButton bAdd = new JButton("查阅"); + + tfname.setPreferredSize(new Dimension(120, 30)); + + tfnumber.setPreferredSize(new Dimension(120, 30)); + + JButton a5 = new JButton("返回"); + p.add(lname); + p.add(tfname); + + p.add(lnumber); + p.add(tfnumber); + p.add(bAdd); + p.add(a5); + a5.addActionListener(new ActionListener() { + + @Override + public void actionPerformed(ActionEvent e) { + f.dispose(); + } + }); + + + + bAdd.addActionListener(new ActionListener() { + + + public void actionPerformed(ActionEvent e) { + + String name = tfname.getText(); + + String number = tfnumber.getText(); + if(0==name.length()){ + JOptionPane.showMessageDialog(f, "请输入图书名"); + tfnumber.grabFocus(); + } + + else if(0==number.length()) { + JOptionPane.showMessageDialog(f, "请输入图书编号"); + + return; + + } + scoreDAo dao = new scoreDAo(); + + + score h = new score(); + h.name= tfname.getText(); + + h.number= Integer.parseInt(tfnumber.getText()); + + int a = dao.seek(h.number); + t.getSelectionModel().setSelectionInterval(a-1, a-1); + + htm.scores = dao.list(); + + + t.updateUI(); + } + }); + + + JScrollPane sp = new JScrollPane(t); + + f.add(p, BorderLayout.NORTH); + f.add(sp, BorderLayout.CENTER); + + f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + + f.setVisible(true); + } +} \ No newline at end of file diff --git a/src/table/update.java b/src/table/update.java new file mode 100644 index 0000000..d0a99a8 --- /dev/null +++ b/src/table/update.java @@ -0,0 +1,163 @@ +package table; + +import java.awt.BorderLayout; +import java.awt.Dimension; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + + + + +import javax.swing.JButton; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JOptionPane; +import javax.swing.JPanel; +import javax.swing.JScrollPane; +import javax.swing.JTable; +import javax.swing.JTextField; + + + + +import test.scoreDAo; +import test.score; + +public class update { + +public void de4() { + + + JFrame f = new JFrame("图书管理界面"); + f.setSize(800, 300); + f.setLocation(200, 200); + f.setLayout(new BorderLayout()); + + final ModelDAO htm = new ModelDAO(); + + final JTable t = new JTable(htm); + + JPanel p = new JPanel(); + + final JLabel lName = new JLabel("图书名"); + final JTextField tfName = new JTextField(""); + final JLabel lmyclass = new JLabel("图书类"); + final JTextField tfmyclass = new JTextField(""); + + final JLabel lnumber = new JLabel("图书编号"); + final JTextField tfnumber = new JTextField(""); + final JLabel lChinesegrade = new JLabel("借阅状况"); + final JTextField tfChinesegrade = new JTextField(""); + + final JLabel lMathgrade = new JLabel("应归还时间"); + final JTextField tfMathgrade = new JTextField(""); + final JLabel lEnglishgrade = new JLabel("延期时间"); + final JTextField tfEnglishgrade = new JTextField(""); + + JButton bAdd = new JButton("修改"); + tfName.setPreferredSize(new Dimension(40, 30)); + tfmyclass.setPreferredSize(new Dimension(40, 30)); + tfnumber.setPreferredSize(new Dimension(100, 30)); + tfChinesegrade.setPreferredSize(new Dimension(40, 30)); + tfMathgrade.setPreferredSize(new Dimension(40, 30)); + tfEnglishgrade.setPreferredSize(new Dimension(40, 30)); + + p.add(lName); + p.add(tfName); + p.add(lmyclass); + p.add(tfmyclass); + + p.add(lnumber); + p.add(tfnumber); + p.add(lChinesegrade); + p.add(tfChinesegrade); + + p.add(lMathgrade); + p.add(tfMathgrade); + p.add(lEnglishgrade); + p.add(tfEnglishgrade); + p.add(bAdd); + + JButton a5 = new JButton("返回"); + p.add(a5); + a5.addActionListener(new ActionListener() { + + @Override + public void actionPerformed(ActionEvent e) { + f.dispose(); + } + }); + + + // 为增加按钮添加监听 + bAdd.addActionListener(new ActionListener() { + + @Override + public void actionPerformed(ActionEvent e) { + + + String name = tfName.getText(); + String name1 = tfmyclass.getText(); + String name2 = tfnumber.getText(); + String name3 = tfChinesegrade.getText(); + String name4 = tfMathgrade.getText(); + String name5 = tfEnglishgrade.getText(); + if(0==name.length()) + { + + JOptionPane.showMessageDialog(f, "图书名不能为空!"); + tfnumber.grabFocus();} + else if(0==name1.length()) { + JOptionPane.showMessageDialog(f, "图书类不能为空!"); + } + else if(0==name2.length()) { + JOptionPane.showMessageDialog(f, "图书编号不能为空!"); + } + else if(0==name3.length()) { + JOptionPane.showMessageDialog(f, "借阅状况不能为空!"); + } + else if(0==name4.length()) { + JOptionPane.showMessageDialog(f, "归还日期不能为空!"); + } + else if(0==name5.length()) { + JOptionPane.showMessageDialog(f, "延期日期不能为空!"); + + + return; + } + scoreDAo dao = new scoreDAo(); + + + score h = new score(); + h.name = tfName.getText(); + h.myclass= tfmyclass.getText(); + h.number= Integer.parseInt(tfnumber.getText()); + h.Chinesegrade=tfChinesegrade.getText(); + h.Mathgrade=tfMathgrade.getText(); + h.Englishgrade=tfEnglishgrade.getText(); + + + + + dao.update(h); + + + htm.scores = dao.list(); + + + t.updateUI(); + if(0!=name.length()&&0!=name1.length()&&0!=name2.length()&&0!=name3.length()&&0!=name4.length()&&0!=name5.length()) + JOptionPane.showMessageDialog(f,"管理成功"); + } + }); + + JScrollPane sp = new JScrollPane(t); + + f.add(p, BorderLayout.NORTH); + f.add(sp, BorderLayout.CENTER); + + f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + + f.setVisible(true); + } +} \ No newline at end of file diff --git a/src/table/update2.java b/src/table/update2.java new file mode 100644 index 0000000..1d7819c --- /dev/null +++ b/src/table/update2.java @@ -0,0 +1,144 @@ +package table; + +import java.awt.BorderLayout; +import java.awt.Dimension; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + + + + +import javax.swing.JButton; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JOptionPane; +import javax.swing.JPanel; +import javax.swing.JScrollPane; +import javax.swing.JTable; +import javax.swing.JTextField; + + + + +import test.scoreDAo; +import test.score; + +public class update2 { + +public void de6() { + + + JFrame f = new JFrame("延期界面"); + f.setSize(800, 300); + f.setLocation(200, 200); + f.setLayout(new BorderLayout()); + + final ModelDAO htm = new ModelDAO(); + + final JTable t = new JTable(htm); + + JPanel p = new JPanel(); + + final JLabel lName = new JLabel("图书名"); + final JTextField tfName = new JTextField(""); + final JLabel lmyclass = new JLabel("图书类"); + final JTextField tfmyclass = new JTextField(""); + + final JLabel lnumber = new JLabel("图书编号"); + final JTextField tfnumber = new JTextField(""); + final JLabel lChinesegrade = new JLabel("借阅时间"); + final JTextField tfChinesegrade = new JTextField(""); + + final JLabel lMathgrade = new JLabel("应归还时间"); + final JTextField tfMathgrade = new JTextField(""); + final JLabel lEnglishgrade = new JLabel("延期时间"); + final JTextField tfEnglishgrade = new JTextField(""); + + JButton bAdd = new JButton("修改"); + tfName.setPreferredSize(new Dimension(40, 30)); + tfmyclass.setPreferredSize(new Dimension(40, 30)); + tfnumber.setPreferredSize(new Dimension(100, 30)); + tfChinesegrade.setPreferredSize(new Dimension(40, 30)); + tfMathgrade.setPreferredSize(new Dimension(40, 30)); + tfEnglishgrade.setPreferredSize(new Dimension(40, 30)); + + p.add(lName); + p.add(tfName); + p.add(lmyclass); + p.add(tfmyclass); + + p.add(lnumber); + p.add(tfnumber); + p.add(lChinesegrade); + p.add(tfChinesegrade); + + p.add(lMathgrade); + p.add(tfMathgrade); + p.add(lEnglishgrade); + p.add(tfEnglishgrade); + p.add(bAdd); + + JButton a5 = new JButton("返回"); + p.add(a5); + a5.addActionListener(new ActionListener() { + + @Override + public void actionPerformed(ActionEvent e) { + f.dispose(); + } + }); + + + // 为增加按钮添加监听 + bAdd.addActionListener(new ActionListener() { + + @Override + public void actionPerformed(ActionEvent e) { + + + String name = tfName.getText(); + String name1 = tfmyclass.getText(); + String name2 = tfnumber.getText(); + String name3 = tfChinesegrade.getText(); + String name4 = tfMathgrade.getText(); + String name5 = tfEnglishgrade.getText(); + if(0==name.length()||0==name1.length()||0==name2.length()||0==name3.length()||0==name4.length()||0==name5.length()){ + JOptionPane.showMessageDialog(f, "输入错误!"); + tfnumber.grabFocus(); + + return; + } + scoreDAo dao = new scoreDAo(); + + + score h = new score(); + h.name = tfName.getText(); + h.myclass= tfmyclass.getText(); + h.number= Integer.parseInt(tfnumber.getText()); + h.Chinesegrade=tfChinesegrade.getText(); + h.Mathgrade=tfMathgrade.getText(); + h.Englishgrade=tfEnglishgrade.getText(); + + + + + dao.update(h); + + + htm.scores = dao.list(); + + + t.updateUI(); + } + }); + + JScrollPane sp = new JScrollPane(t); + + f.add(p, BorderLayout.NORTH); + f.add(sp, BorderLayout.CENTER); + + f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + + f.setVisible(true); + } +} \ No newline at end of file diff --git a/src/table/updateadminstrator.java b/src/table/updateadminstrator.java new file mode 100644 index 0000000..8869aef --- /dev/null +++ b/src/table/updateadminstrator.java @@ -0,0 +1,149 @@ +package table; + +import java.awt.BorderLayout; +import java.awt.Dimension; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + + + + +import javax.swing.JButton; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JOptionPane; +import javax.swing.JPanel; +import javax.swing.JScrollPane; +import javax.swing.JTable; +import javax.swing.JTextField; + + + + +import test.userDAo; +import test.user; + +public class updateadminstrator { + +public void de12() { + + + JFrame f = new JFrame("修改用户信息"); + f.setSize(800, 350); + f.setLocation(200, 200); + f.setLayout(new BorderLayout()); + + final ModelDAOuser htm = new ModelDAOuser(); + + final JTable t = new JTable(htm); + + JPanel p = new JPanel(); + + final JLabel lName = new JLabel("账号"); + final JTextField tfName = new JTextField(""); + final JLabel lmyclass = new JLabel("密码"); + final JTextField tfmyclass = new JTextField(""); + + final JLabel lnumber = new JLabel("个人联系信息"); + final JTextField tfnumber = new JTextField(""); + final JLabel lChinesegrade = new JLabel("借阅图书"); + final JTextField tfChinesegrade = new JTextField(""); + + final JLabel lMathgrade = new JLabel("归还日期"); + final JTextField tfMathgrade = new JTextField(""); + final JLabel lEnglishgrade = new JLabel("延期日期"); + final JTextField tfEnglishgrade = new JTextField(""); + + JButton bAdd = new JButton("修改"); + tfName.setPreferredSize(new Dimension(40, 30)); + tfmyclass.setPreferredSize(new Dimension(40, 30)); + tfnumber.setPreferredSize(new Dimension(100, 30)); + tfChinesegrade.setPreferredSize(new Dimension(40, 30)); + tfMathgrade.setPreferredSize(new Dimension(40, 30)); + tfEnglishgrade.setPreferredSize(new Dimension(40, 30)); + + p.add(lName); + p.add(tfName); + p.add(lmyclass); + p.add(tfmyclass); + + p.add(lnumber); + p.add(tfnumber); + p.add(lChinesegrade); + p.add(tfChinesegrade); + + p.add(lMathgrade); + p.add(tfMathgrade); + p.add(lEnglishgrade); + p.add(tfEnglishgrade); + p.add(bAdd); + + JButton a5 = new JButton("返回"); + p.add(a5); + a5.addActionListener(new ActionListener() { + + @Override + public void actionPerformed(ActionEvent e) { + f.dispose(); + } + }); + + + // 为增加按钮添加监听 + bAdd.addActionListener(new ActionListener() { + + @Override + public void actionPerformed(ActionEvent e) { + + + + if(0==tfName.getText().length()&&0== tfmyclass.getText().length()&&0==tfnumber.getText().length()&&0==tfChinesegrade.getText().length()&&0==tfMathgrade.getText().length()&&0==tfEnglishgrade.getText().length()){ + JOptionPane.showMessageDialog(f, "输入为空"); + tfName.grabFocus(); + + return; + } + userDAo dao = new userDAo(); + + + user h = new user(); + if(tfName.getText().length()!=0) { + h.number = Integer.parseInt(tfName.getText()); + } + if(tfmyclass.getText().length()!=0) { + h.password= tfmyclass.getText();} + if(tfnumber.getText().length()!=0) { + h.telephone= tfnumber.getText();} + if( tfChinesegrade.getText().length()!=0) { + h.condition=tfChinesegrade.getText();} + if( tfMathgrade.getText().length()!=0) { + h.dueback=tfMathgrade.getText();} + if(tfEnglishgrade.getText().length()!=0) { + h.dating=tfEnglishgrade.getText();} + + + + + dao.update(h); + + + htm.users = dao.list(); + + + t.updateUI(); + if(0!=tfName.getText().length()) { + JOptionPane.showMessageDialog(f,"修改成功"); + } + } + }); + + JScrollPane sp = new JScrollPane(t); + + f.add(p, BorderLayout.NORTH); + f.add(sp, BorderLayout.CENTER); + + f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + + f.setVisible(true); + } +} \ No newline at end of file diff --git a/src/table/updateuser.java b/src/table/updateuser.java new file mode 100644 index 0000000..0dbbdc5 --- /dev/null +++ b/src/table/updateuser.java @@ -0,0 +1,129 @@ +package table; + +import java.awt.BorderLayout; +import java.awt.Dimension; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + + + + +import javax.swing.JButton; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JOptionPane; +import javax.swing.JPanel; +import javax.swing.JScrollPane; +import javax.swing.JTable; +import javax.swing.JTextField; + + + + +import test.userDAo; +import test.user; + +public class updateuser { + +public void de12() { + + + JFrame f = new JFrame("修改用户信息"); + f.setSize(800, 350); + f.setLocation(200, 200); + f.setLayout(new BorderLayout()); + + final Modeluser htm = new Modeluser(); + + final JTable t = new JTable(htm); + + JPanel p = new JPanel(); + + final JLabel lName = new JLabel("账号"); + final JTextField tfName = new JTextField(""); + final JLabel lmyclass = new JLabel("密码"); + final JTextField tfmyclass = new JTextField(""); + + final JLabel lnumber = new JLabel("个人联系信息"); + final JTextField tfnumber = new JTextField(""); + + + JButton bAdd = new JButton("修改"); + tfName.setPreferredSize(new Dimension(40, 30)); + tfmyclass.setPreferredSize(new Dimension(40, 30)); + tfnumber.setPreferredSize(new Dimension(100, 30)); + + p.add(lName); + p.add(tfName); + p.add(lmyclass); + p.add(tfmyclass); + + p.add(lnumber); + p.add(tfnumber); + + p.add(bAdd); + + JButton a5 = new JButton("返回"); + p.add(a5); + a5.addActionListener(new ActionListener() { + + @Override + public void actionPerformed(ActionEvent e) { + f.dispose(); + } + }); + + + // 为增加按钮添加监听 + bAdd.addActionListener(new ActionListener() { + + @Override + public void actionPerformed(ActionEvent e) { + + + + if(0==tfName.getText().length()&&0== tfmyclass.getText().length()&&0==tfnumber.getText().length()){ + JOptionPane.showMessageDialog(f, "输入为空"); + tfName.grabFocus(); + + return; + } + userDAo dao = new userDAo(); + + + user h = new user(); + if(tfName.getText().length()!=0) { + h.number = Integer.parseInt(tfName.getText()); + } + if(tfmyclass.getText().length()!=0) { + h.password= tfmyclass.getText();} + if(tfnumber.getText().length()!=0) { + h.telephone= tfnumber.getText();} + + + + + + dao.updateuser(h); + + + htm.users = dao.list(); + + + t.updateUI(); + if(0!=tfName.getText().length()) { + JOptionPane.showMessageDialog(f,"修改成功"); + } + } + }); + + JScrollPane sp = new JScrollPane(t); + + f.add(p, BorderLayout.NORTH); + f.add(sp, BorderLayout.CENTER); + + f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + + f.setVisible(true); + } +} \ No newline at end of file diff --git a/src/test/DAO.java b/src/test/DAO.java new file mode 100644 index 0000000..a039c4e --- /dev/null +++ b/src/test/DAO.java @@ -0,0 +1,18 @@ +package test; + +import java.util.List; +import test.score; +public interface DAO{ + //增加 + public void add(score score1); + //修改 + public void update(score score1); + //删除 + public void delete(int number); + //获取 + public score get(int number); + //查询 + public List list(); + //分页查询 + public List list(int start, int count); +} \ No newline at end of file diff --git a/src/test/DAOuser.java b/src/test/DAOuser.java new file mode 100644 index 0000000..70ae0a1 --- /dev/null +++ b/src/test/DAOuser.java @@ -0,0 +1,18 @@ +package test; + +import java.util.List; +import test.user; +public interface DAOuser{ + //增加 + public void add(user user1); + //修改 + public void update(user user1); + //删除 + public void delete(int number); + //获取 + public user get(int number); + //查询 + public List list(); + //分页查询 + public List list(int start, int count); +} \ No newline at end of file diff --git a/src/test/book.java b/src/test/book.java new file mode 100644 index 0000000..02c48f1 --- /dev/null +++ b/src/test/book.java @@ -0,0 +1,67 @@ +package test; + + +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; + + +import test.score; + +public class book { + + public static score get(int number) { + score score1 = null; + try { + Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); + } catch (ClassNotFoundException e) { + e.printStackTrace(); + } + + try (Connection c = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=Test","sa","12"); + Statement s = c.createStatement();) { + + String sql = "select * from 图书信息 where number = " + number; + + ResultSet rs = s.executeQuery(sql); + + + if (rs.next()) { + score1 = new score(); + + String name = rs.getString("name"); + String myclass = rs.getString("myclass"); + String Chinesegrade = rs.getString("Chinesegrade"); + String Mathgrade = rs.getString("Mathgrade"); + String Englishgrade= rs.getString("Englishgrade"); + + score1.name = name; + score1.myclass = myclass; + score1.Chinesegrade = Chinesegrade; + score1.Mathgrade = Mathgrade; + score1.Englishgrade = Englishgrade; + score1.number = number; + } + + } catch (SQLException e) { + + e.printStackTrace(); + } + return score1; + + } + + public static void main(String args[]) { + + score h = get(2016403211); + System.out.println(h.name ); + System.out.println(h.myclass ); + System.out.println(h.number ); + System.out.println(h.Chinesegrade ); + System.out.println(h.Mathgrade ); + System.out.println(h.Englishgrade ); + + } +} \ No newline at end of file diff --git a/src/test/information.java b/src/test/information.java new file mode 100644 index 0000000..b1e11db --- /dev/null +++ b/src/test/information.java @@ -0,0 +1,68 @@ +package test; + + +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; + + +import test.user; + +public class information { + + public static user get(int number) { + user user1 = null; + try { + Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); + } catch (ClassNotFoundException e) { + e.printStackTrace(); + } + + try (Connection c = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=Test","sa","12"); + Statement s = c.createStatement();) { + + String sql = "select * from 借阅者信息 where number = " + number; + + ResultSet rs = s.executeQuery(sql); + + + if (rs.next()) { + user1= new user(); + + String password = rs.getString("password"); + String telephone = rs.getString("telephone"); + String condition = rs.getString("condition"); + String dueback = rs.getString("dueback"); + String dating= rs.getString("dating"); + + user1.number = number; + user1.password = password; + user1.telephone = telephone; + user1.condition=condition; + user1.dueback=dueback; + user1.dating=dating; + + } + + } catch (SQLException e) { + + e.printStackTrace(); + } + return user1; + + } + + public static void main(String args[]) { + + user h = get(2016403211); + System.out.println(h.number ); + System.out.println(h.password ); + System.out.println(h.telephone ); + System.out.println(h.condition ); + System.out.println(h.dueback ); + System.out.println(h.dating ); + + } +} \ No newline at end of file diff --git a/src/test/score.java b/src/test/score.java new file mode 100644 index 0000000..50f9f5e --- /dev/null +++ b/src/test/score.java @@ -0,0 +1,12 @@ +package test; + +public class score { + public String name; + public String myclass; + public int number; + public String Chinesegrade; + public String Mathgrade; + public String Englishgrade; + public String mod; + +} diff --git a/src/test/scoreDAo.java b/src/test/scoreDAo.java new file mode 100644 index 0000000..ae578d1 --- /dev/null +++ b/src/test/scoreDAo.java @@ -0,0 +1,221 @@ +package test; + +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; +import java.util.ArrayList; +import java.util.List; + +import test.score; + +public class scoreDAo implements DAO{ + + public scoreDAo() { + try { + Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); + } catch (ClassNotFoundException e) { + e.printStackTrace(); + } + } + + public Connection getConnection() throws SQLException { + return DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=Test","sa","12"); + } + + public int getTotal() { + int total = 0; + try (Connection c = getConnection(); Statement s = c.createStatement();) { + + String sql = "select count(*) from 图书信息"; + + ResultSet rs = s.executeQuery(sql); + while (rs.next()) { + total = rs.getInt(1); + } + + System.out.println("total:" + total); + + } catch (SQLException e) { + + e.printStackTrace(); + } + return total; + } + + public void add(score score1) { + + String sql = "insert into 图书信息 values(?,?,?,?,?,?)"; + try (Connection c = getConnection(); PreparedStatement ps = c.prepareStatement(sql);) { + + ps.setString(1, score1.name); + ps.setString(2, score1.myclass); + ps.setInt(3, score1.number); + ps.setString(4,score1.Chinesegrade); + ps.setString(5,score1.Mathgrade); + ps.setString(6,score1.Englishgrade); + + ps.execute(); + + ResultSet rs = ps.getGeneratedKeys(); + if (rs.next()) { + int number = rs.getInt(1); + score1.number = number; + } + } catch (SQLException e) { + + e.printStackTrace(); + } + } + public void add2(String m ,int n) { + + String sql = "insert into 用户登录信息 values(?,?)"; + try (Connection c = getConnection(); PreparedStatement ps = c.prepareStatement(sql);) { + + ps.setString(1, m); + ps.setInt(2, n); + + ResultSet rs = ps.getGeneratedKeys(); + if (rs.next()) { + int number = rs.getInt(1); + n = number; + } + } catch (SQLException e) { + + e.printStackTrace(); + } + } + + public void update(score score1) { + + String sql = "update 图书信息 set name= ?, myclass = ? , Chinesegrade = ? , Mathgrade = ?, Englishgrade = ? where number = ?"; + try (Connection c = getConnection(); PreparedStatement ps = c.prepareStatement(sql);) { + + ps.setString(1, score1.name); + ps.setString(2, score1.myclass); + ps.setString(3,score1.Chinesegrade); + ps.setString(4,score1.Mathgrade); + ps.setString(5,score1.Englishgrade); + ps.setInt(6, score1.number); + + ps.execute(); + + } catch (SQLException e) { + + e.printStackTrace(); + } + + } + + public void delete(int number) { + + try (Connection c = getConnection(); Statement s = c.createStatement();) { + + String sql = "delete from 图书信息 where number = " + number; + + s.execute(sql); + + } catch (SQLException e) { + + e.printStackTrace(); + } + } + + public score get(int number) { + score score1 = null; + + try (Connection c = getConnection(); Statement s = c.createStatement();) { + + String sql = "select * from 图书信息 where number = " + number; + + ResultSet rs = s.executeQuery(sql); + + if (rs.next()) { + score1 = new score(); + String name = rs.getString("name"); + String myclass = rs.getString("myclass"); + String Chinesegrade = rs.getString("Chinesegrade"); + String Mathgrade = rs.getString("Mathgrade"); + String Englishgrade= rs.getString("Englishgrade"); + + score1.name = name; + score1.myclass = myclass; + score1.Chinesegrade = Chinesegrade; + score1.Mathgrade = Mathgrade; + score1.Englishgrade = Englishgrade; + score1.number = number; + } + + } catch (SQLException e) { + + e.printStackTrace(); + } + return score1; + } + public int seek(int number) { + score score1 = null; + + try (Connection c = getConnection(); Statement s = c.createStatement();) { + + String sql = "select * from (select *,row_number() over (order by [number]) 'x' from 图书信息) as asd where number=" + number; + + ResultSet rs = s.executeQuery(sql); + + if (rs.next()) { + score1 = new score(); + + int Chinesegrade = rs.getInt("x"); + score1.number = Chinesegrade; + + } + + } catch (SQLException e) { + + e.printStackTrace(); + } + return score1.number; + } + + public List list() { + return list(0, Short.MAX_VALUE); + } + + public List list(int start, int count) { + List scores = new ArrayList(); + + String sql = "SELECT * FROM 图书信息 order by number offset ? rows fetch next ? rows only "; + + try (Connection c = getConnection(); PreparedStatement ps = c.prepareStatement(sql);) { + + ps.setInt(1, start); + ps.setInt(2, count); + + ResultSet rs = ps.executeQuery(); + + while (rs.next()) { + score score1 = new score(); + String name = rs.getString("name"); + String myclass = rs.getString("myclass"); + int number= rs.getInt("number"); + String Chinesegrade = rs.getString("Chinesegrade"); + String Mathgrade = rs.getString("Mathgrade"); + String Englishgrade= rs.getString("Englishgrade"); + + score1.name = name; + score1.myclass = myclass; + score1.Chinesegrade = Chinesegrade; + score1.Mathgrade = Mathgrade; + score1.Englishgrade = Englishgrade; + score1.number = number; + scores.add(score1); + } + } catch (SQLException e) { + + e.printStackTrace(); + } + return scores; + } + +} \ No newline at end of file diff --git a/src/test/user.java b/src/test/user.java new file mode 100644 index 0000000..1085139 --- /dev/null +++ b/src/test/user.java @@ -0,0 +1,11 @@ +package test; + +public class user { +public Integer number; +public String password; +public String telephone; +public String condition; +public String dueback; +public String dating; +public String mod; +} diff --git a/src/test/userDAo.java b/src/test/userDAo.java new file mode 100644 index 0000000..4668747 --- /dev/null +++ b/src/test/userDAo.java @@ -0,0 +1,288 @@ +package test; + +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; +import java.util.ArrayList; +import java.util.List; + +import test.user; + +public class userDAo implements DAOuser{ + + public userDAo() { + try { + Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); + } catch (ClassNotFoundException e) { + e.printStackTrace(); + } + } + + public Connection getConnection() throws SQLException { + return DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=Test","sa","12"); + } + + public int getTotal() { + int total = 0; + try (Connection c = getConnection(); Statement s = c.createStatement();) { + + String sql = "select count(*) from 借阅者信息"; + + ResultSet rs = s.executeQuery(sql); + while (rs.next()) { + total = rs.getInt(1); + } + + System.out.println("total:" + total); + + } catch (SQLException e) { + + e.printStackTrace(); + } + return total; + } + + public void add(user user1) { + + String sql = "insert into 借阅者信息 values(?,?,?,?,?,?)"; + try (Connection c = getConnection(); PreparedStatement ps = c.prepareStatement(sql);) { + + ps.setInt(1, user1.number); + ps.setString(2, user1.password); + ps.setString(3, user1.telephone); + ps.setString(4,user1.condition); + ps.setString(5,user1.dueback); + ps.setString(6,user1.dating); + + ps.execute(); + + ResultSet rs = ps.getGeneratedKeys(); + if (rs.next()) { + int number = rs.getInt(1); + user1.number = number; + } + } catch (SQLException e) { + + e.printStackTrace(); + } + } + public void addm(user user1) { + + String sql = "insert into 借阅者信息 values(?,?,?,?,?,?)"; + + try (Connection c = getConnection(); PreparedStatement ps = c.prepareStatement(sql);) { + + ps.setInt(1, user1.number); + ps.setString(2, user1.password); + ps.setString(3, user1.telephone); + ps.setString(4,user1.condition); + ps.setString(5,user1.dueback); + ps.setString(6,user1.dating); + + ps.execute(); + + ResultSet rs = ps.getGeneratedKeys(); + if (rs.next()) { + int number = rs.getInt(1); + user1.number = number; + } + } catch (SQLException e) { + + e.printStackTrace(); + } + } + public void add2(String m ,int n) { + + String sql = "insert into 借阅者信息 values(?,?)"; + try (Connection c = getConnection(); PreparedStatement ps = c.prepareStatement(sql);) { + + ps.setString(1, m); + ps.setInt(2, n); + + ResultSet rs = ps.getGeneratedKeys(); + if (rs.next()) { + int number = rs.getInt(1); + n = number; + } + } catch (SQLException e) { + + e.printStackTrace(); + } + } + + public void update(user user1) { + + String sql = "update 借阅者信息 set password= ?, telephone = ? , condition = ? ,dueback = ?, dating = ? where number = ?"; + try (Connection c = getConnection(); PreparedStatement ps = c.prepareStatement(sql);) { + + ps.setInt(6, user1.number); + ps.setString(1, user1.password); + ps.setString(2,user1.telephone); + ps.setString(3,user1.condition); + ps.setString(4,user1.dueback); + ps.setString(5, user1.dating); + + ps.execute(); + + } catch (SQLException e) { + + e.printStackTrace(); + } + + } + + public void updateuser(user user1) { + + String sql = "update 借阅者信息 set password= ?, telephone = ? where number = ?"; + try (Connection c = getConnection(); PreparedStatement ps = c.prepareStatement(sql);) { + + ps.setInt(3, user1.number); + ps.setString(1, user1.password); + ps.setString(2,user1.telephone); + + + ps.execute(); + + } catch (SQLException e) { + + e.printStackTrace(); + } + + } + + public void delete(int number) { + + try (Connection c = getConnection(); Statement s = c.createStatement();) { + + String sql = "delete from 借阅者信息 where number = " + number; + + s.execute(sql); + + } catch (SQLException e) { + + e.printStackTrace(); + } + } + + public user get(int number) { + user user1 = null; + + try (Connection c = getConnection(); Statement s = c.createStatement();) { + + String sql = "select * from 借阅者信息 where number = " + number; + + ResultSet rs = s.executeQuery(sql); + + if (rs.next()) { + user1 = new user(); + String password = rs.getString("password"); + String telephone = rs.getString("telephone"); + String condition = rs.getString("condition"); + String dueback = rs.getString("dueback"); + String dating= rs.getString("dating"); + + user1.password = password; + user1.telephone=telephone; + user1.condition=condition; + user1.dueback=dueback; + user1.dating=dating; + user1.number = number; + } + + } catch (SQLException e) { + + e.printStackTrace(); + } + return user1; + } + public int seek(int number) { + user user1 = null; + + try (Connection c = getConnection(); Statement s = c.createStatement();) { + + String sql = "select * from (select *,row_number() over (order by [number]) 'x' from 借阅者信息) as asd where number=" + number; + + ResultSet rs = s.executeQuery(sql); + + if (rs.next()) { + user1=new user(); + + int condition = rs.getInt("x"); + user1.number = condition; + + } + + } catch (SQLException e) { + + e.printStackTrace(); + } + return user1.number; + } + public int seek2(int number) { + user user1 = null; + + try (Connection c = getConnection(); Statement s = c.createStatement();) { + + String sql = "select * from (select *,row_number() over (order by [number]) 'x' from 借阅者信息) as asd where number=" + number; + + ResultSet rs = s.executeQuery(sql); + + if (rs.next()) { + user1=new user(); + + int condition = rs.getInt("x"); + user1.number = condition; + + } + + } catch (SQLException e) { + + e.printStackTrace(); + } + return user1.number; + } + + public List list() { + return list(0, Short.MAX_VALUE); + } + + public List list(int start, int count) { + List users = new ArrayList(); + + String sql = "SELECT * FROM 借阅者信息 order by number offset ? rows fetch next ? rows only "; + + try (Connection c = getConnection(); PreparedStatement ps = c.prepareStatement(sql);) { + + ps.setInt(1, start); + ps.setInt(2, count); + + ResultSet rs = ps.executeQuery(); + + while (rs.next()) { + user user1=new user(); + int number=rs.getInt("number"); + String password = rs.getString("password"); + String telephone= rs.getString("telephone"); + String condition = rs.getString("condition"); + String dueback = rs.getString("dueback"); + String dating= rs.getString("dating"); + + user1.number = number; + user1.password = password; + user1.telephone=telephone; + user1.condition=condition; + user1.dueback=dueback; + user1.dating=dating; + users.add(user1); + } + } catch (SQLException e) { + + e.printStackTrace(); + } + return users; + } + +} \ No newline at end of file -- Gitee