本文主要是介绍java+sql server 数据库实现英才大学图书管理系统 第一部分 连接数据库及界面实现,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.英才大学图书馆管理系统
功能点:用户登录、注册、密码修改,新增、修改、删除图书信息,实现图书外借与归还,查询图书信息(精确查找、模糊查找)
这个东西是数据库的一次实验
因为我常年不用java,这也算是一个java大型复健作业,不过由于对面向对象的思想,还有java的很多东西掌握不够牢固,在写的时候应该有很多莫名其妙的语法orz
另外建议swpu的朋友们还是仅供参考,找我要这份代码的人已经相当多了
下载地址:https://download.csdn.net/download/u011612364/13985581
百度网盘链接:https://pan.baidu.com/s/15kH3g5ifDuV4kssP4rL19g
提取码:np4u
一 数据库连接测试
首先是关于数据库的连接,老师也没有讲过,自己试了老久才连上,还是有很多坑的。
这里先给出一份测试连接的代码
import java.sql.*;
public class MySQLDemo {public static void main(String[] args) { System.out.println("数据库原理及应用"); String connectionUrl = "jdbc:sqlserver://localhost:1433;databaseName=MyDb"; //你要连的数据库// Declare the JDBC objects. Connection con = null; Statement stmt = null; ResultSet rs = null; System.out.println("正在连接数据库和检索,请等待...");try { // Establish the connection. //Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); con = DriverManager.getConnection(connectionUrl,"sa","123456"); //账号和密码,注意权限是否开了// Create and execute an SQL statement that returns some data. String SQL = "select * from IpTable "; //测试,改成你的表看是否成功stmt = con.createStatement(); rs = stmt.executeQuery(SQL); while (rs.next()) { System.out.println(rs.getString(1) + "\t" + rs.getString(2) + "\t" + rs.getString(3) + "\t" + rs.getString(4)); } } catch (Exception e) { e.printStackTrace(); } finally { if (rs != null) try { rs.close(); } catch(Exception e) {} if (stmt != null) try { stmt.close(); } catch(Exception e) {} if (con != null) try { con.close(); } catch(Exception e) {} } }
}
这一步的重点:
当然你想要连接的上数据库,你的连接账号权限设置肯定是不能忘记的。数据库初次下载后默认的是只有Windows身份验证模式,要将设置改一下。
然后还要在微软官网上下载对应的驱动包,导入eclipse,链接我也给一下https://docs.microsoft.com/zh-cn/sql/connect/jdbc/using-the-jdbc-driver?view=sql-server-2017
导入后的配置如图所示
二 界面部分
效果图如下
LoginMenu.java
package YLBlibrary;import java.awt.Dimension;
import java.awt.Font;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;public class LoginMenu extends JFrame{/*注册登陆按钮*/JFrame f = new JFrame("英才大学图书馆管理系统 By 201831064402杨丽冰");JButton button1 = new JButton("注册");JButton button2 = new JButton("登录");JButton button3 = new JButton("修改密码");JTextField id = new JTextField();JPasswordField password = new JPasswordField();public void Menu() {//改变窗口图标Toolkit t = Toolkit.getDefaultToolkit();Image img = t.getImage("src\\picture\\book.png");f.setIconImage(img);//设置窗口大小f.setSize(740,580); //使窗口居中f.setLocationRelativeTo(null);//设置布局为空f.setLayout(null);//设置窗口背景图案Icon i = new ImageIcon("src\\picture\\photo1.jpg");JLabel jLable = new JLabel(i);jLable.setBounds(0, 0, 740, 580);JPanel panel1 = new JPanel();JPanel panel2 = new JPanel();JPanel panel3 = new JPanel();JPanel panel4 = new JPanel();JPanel panel5 = new JPanel();JPanel panel6 = new JPanel();/*添加大标题:图书管理系统*/JLabel lable = new JLabel("英才大学图书馆管理系统");Font font = new Font("宋体",Font.BOLD,30);//设置字体lable.setFont(font);panel1.add(lable);panel1.setBounds(130, 60, 380, 370);//设置面板大小f.add(panel1);/*用户类型标签*/JLabel user = new JLabel("用户类型 ");Font font1 = new Font("宋体",Font.BOLD,25);user.setFont(font1);panel2.add(user);/*用户类型的下拉框*/JComboBox<String> j = new JComboBox<String>();Dimension dimension = new Dimension(200,30);//框框的大小j.setPreferredSize(dimension);j.addItem("普通用户");j.addItem("管理员用户");Font font2 = new Font("宋体",Font.BOLD,15);j.setFont(font2);panel2.setBounds(90, 160, 400, 300);panel2.add(j);f.add(panel2);/*账号标签*/JLabel labid = new JLabel(" 账号: ");Font font3 = new Font("宋体",Font.BOLD,25); labid.setFont(font3);panel3.add(labid);/*输入账户的文本框*/id.setPreferredSize(dimension);panel3.add(id);panel3.setBounds(90, 230, 400, 300);f.add(panel3);/*密码标签*/JLabel labpassword = new JLabel(" 密码: ");Font font4 = new Font("宋体",Font.BOLD,25);labpassword.setFont(font4);panel4.add(labpassword);/*输入密码文本框*/password.setPreferredSize(dimension);Font font5 = new Font("宋体",Font.BOLD,25); password.setFont(font5);panel4.add(password);panel4.setBounds(90, 290, 400, 300);f.add(panel4);//按钮button1.setFont(font4);button2.setFont(font4);button3.setFont(font4);Dimension dimension2 = new Dimension(100,50);Dimension dimension3 = new Dimension(150,50);button1.setPreferredSize(dimension2);button2.setPreferredSize(dimension2);button3.setPreferredSize(dimension3);panel5.add(button1);panel6.add(button2);panel6.add(button3);panel5.setBounds(180, 370, 150, 400);panel6.setBounds(270, 370, 350, 400);f.add(panel5);f.add(panel6);//把组件变成透明panel1.setOpaque(false);panel2.setOpaque(false);panel3.setOpaque(false);panel4.setOpaque(false);panel5.setOpaque(false);panel6.setOpaque(false);f.add(jLable);//设置不可改变窗口大小f.setResizable(false);f.setVisible(true);f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 给按钮注册事件侦听MyButtonListener listen = new MyButtonListener();button1.addActionListener(listen);button2.addActionListener(listen);button3.addActionListener(listen);}class MyButtonListener implements ActionListener {public void actionPerformed(ActionEvent evt) {// 根据事件源是不同按钮,调用不同的方法if (evt.getSource() == button3)FindPaw();if (evt.getSource() == button2)Login();if (evt.getSource() == button1)Register();}} // 添加数据对应的代码封装在这里private void Login() {Contro con = new Contro();String ID = id.getText();String pawd = password.getText();int state = con.loginConf(ID, pawd);if(state == 1) {Globle gl =new Globle();User user =new User();user.setID(ID);gl.set(user);f.dispose();Mangament obj = new Mangament();obj.setSize(740, 580);obj.setVisible(true);obj.setLocationRelativeTo(null);}elseshowMsg("登录失败!");}private void showMsg(String sArgs) {JOptionPane.showMessageDialog(LoginMenu.this, sArgs);}private void Register() {f.dispose();RegisterMenu objRej = new RegisterMenu();}private void FindPaw() {f.dispose();FindPawMenu objRej = new FindPawMenu();}public static void main(String args[]) {LoginMenu obj = new LoginMenu();obj.Menu();}
}
注册:
package YLBlibrary;import java.awt.Dimension;
import java.awt.Font;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;public class RegisterMenu extends JFrame {/*注册按钮*/static JFrame f = new JFrame("英才大学图书馆管理系统 By 201831064402杨丽冰");static JButton button1 = new JButton("注册");JTextField id = new JTextField();JPasswordField password = new JPasswordField();JTextField name = new JTextField();JTextField phone = new JTextField();JPanel panel1 = new JPanel();JPanel panel2 = new JPanel();JPanel panelID = new JPanel();JPanel panelPassWord = new JPanel();JPanel panelName = new JPanel();JPanel panelPhone = new JPanel();JPanel panel5 = new JPanel();public RegisterMenu() { //改变窗口图标Toolkit t = Toolkit.getDefaultToolkit();Image img = t.getImage("src\\picture\\book.png");f.setIconImage(img);//设置窗口大小f.setSize(740,580); //使窗口居中f.setLocationRelativeTo(null);//设置布局为空f.setLayout(null);//设置窗口背景图案Icon i = new ImageIcon("src\\picture\\photo1.jpg");JLabel jLable = new JLabel(i);jLable.setBounds(0, 0, 740, 580);/*添加大标题:图书管理系统*/JLabel lable = new JLabel("英才大学图书馆管理系统");Font font = new Font("宋体",Font.BOLD,30);//设置字体lable.setFont(font);panel1.add(lable);panel1.setBounds(130, 60, 380, 370);//设置面板大小f.add(panel1);/*用户类型标签*/JLabel user = new JLabel("用户类型 ");Font font1 = new Font("宋体",Font.BOLD,25);user.setFont(font1);panel2.add(user);/*用户类型的下拉框*/JComboBox<String> j = new JComboBox<String>();Dimension dimension = new Dimension(200,30);//框框的大小j.setPreferredSize(dimension);j.addItem("普通用户");j.addItem("管理员用户");Font font2 = new Font("宋体",Font.BOLD,15);j.setFont(font2);panel2.setBounds(90, 140, 400, 300);panel2.add(j);f.add(panel2);/*账号标签*/JLabel labid = new JLabel(" 账号: ");Font font3 = new Font("宋体",Font.BOLD,25); labid.setFont(font3);panelID.add(labid);/*输入账户的文本框*/id.setPreferredSize(dimension);panelID.add(id);panelID.setBounds(90, 180, 400, 300);f.add(panelID);/*密码标签*/JLabel labpassword = new JLabel(" 密码: ");Font font4 = new Font("宋体",Font.BOLD,25);labpassword.setFont(font4);panelPassWord.add(labpassword);/*输入密码文本框*/password.setPreferredSize(dimension);Font font5 = new Font("宋体",Font.BOLD,25); password.setFont(font5);panelPassWord.add(password);panelPassWord.setBounds(90, 220, 400, 300);f.add(panelPassWord);/*姓名标签*/JLabel labname = new JLabel(" 姓名: ");Font font6 = new Font("宋体",Font.BOLD,25);labname.setFont(font6);panelName.add(labname);/*输入姓名文本框*/name.setPreferredSize(dimension);Font font7 = new Font("宋体",Font.BOLD,25); name.setFont(font7);panelName.add(name);panelName.setBounds(90, 260, 400, 300);f.add(panelName);/*电话标签*/JLabel labphone = new JLabel(" 电话: ");labphone.setFont(font6);panelPhone.add(labphone);/*输入电话文本框*/phone.setPreferredSize(dimension);phone.setFont(font7);panelPhone.add(phone);panelPhone.setBounds(90, 300, 400, 300);f.add(panelPhone);button1.setFont(font4);Dimension dimension2 = new Dimension(100,50);button1.setPreferredSize(dimension2);panel5.add(button1);panel5.setBounds(160, 350, 300, 400);f.add(panel5);//把组件变成透明panel1.setOpaque(false);panel2.setOpaque(false);panelID.setOpaque(false);panelPassWord.setOpaque(false);panelName.setOpaque(false);panelPhone.setOpaque(false);panel5.setOpaque(false);f.add(jLable);//设置不可改变窗口大小f.setResizable(false);f.setVisible(true);f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 给按钮注册事件侦听MyButtonListener listen = new MyButtonListener();button1.addActionListener(listen);}class MyButtonListener implements ActionListener {public void actionPerformed(ActionEvent evt) {// 根据事件源是不同按钮,调用不同的方法if (evt.getSource() == button1)Register();}} private void showMsg(String sArgs) {JOptionPane.showMessageDialog(RegisterMenu.this, sArgs);}// 对应的代码封装在这里private void Register() {String ID = id.getText();String pawd = password.getText();String Name = name.getText();String pho = phone.getText(); //System.out.println(ID+" "+Name+" "+pawd+pho);Contro con = new Contro();int state;if(ID.length() == 0 || ID.equals(" "))state = 0;elsestate= con.adduser(ID, pawd, Name, pho);if(state == 1) {showMsg("注册成功!");LoginMenu objLog = new LoginMenu();objLog.Menu();}elseshowMsg("注册失败!");f.dispose();}
}
系统界面
package YLBlibrary;
//作者 swpu杨丽冰 201831064402import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
import java.sql.*;//Java图形用户界面
public class Mangament extends JFrame {JTabbedPane tabbedPane = new JTabbedPane(); // 选项卡JPanel panelA, panelB, panelC,panelD,panelE,panelF; // 选项卡上的面板// 面板A上的控件JLabel lblBno, lblBName, lblAName, lblPrice, lblPhone, lblEmail;JTextField txtBno, txtBName, txtAName, txtPrice, txtEmail;JButton btnInsertData, buttonCancel;// 面板B上的控件JLabel lblNoToDel;JTextField txtNoToDel;JButton btnNoToDel;// 面板C上的控件JLabel lblNameToFind,lblANameToFind;JTextField txtNameToFind,txtANameToFind;JButton btnNameToFind,btnANameToFind;JTextArea areaShowResult;//DJLabel lblNoLend,lblNameLend,lblIDLend ;JTextField txtNoLend,txtNameLend,txtIDLend;JButton btnLend;//EJLabel lblNoBorrow,lblIDBorrow ;JTextField txtNoBorrow,txtIDBorrow;JButton btnBorrow;//FJLabel lblPoint,lblUpBno, lblUpBName, lblUpAName, lblUpPrice, lblUpPhone, lblUpEmail;JTextField txtUpBno, txtUpBName, txtUpAName, txtUpPrice, txtUpEmail;JButton btnUpData, buttonUpCancel;// 构造方法public Mangament() {super("(英才大学图书馆管理系统 By 201831064402杨丽冰)"); // 设置窗口标题栏文字//图标Toolkit t = Toolkit.getDefaultToolkit();Image img = t.getImage("src\\picture\\book.png");this.setIconImage(img);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);tabbedPane = new JTabbedPane();panelA = new JPanel();panelB = new JPanel();panelC = new JPanel();panelD = new JPanel();panelE = new JPanel();panelF = new JPanel();tabbedPane.add("添加图书", panelA);tabbedPane.add("删除图书", panelB);tabbedPane.add("查询图书", panelC);tabbedPane.add("更新图书", panelF);tabbedPane.add("借阅图书", panelD);tabbedPane.add("归还图书", panelE);// Icon i = new ImageIcon("src\\picture\\3.jpg");
// JLabel jLable = new JLabel(i);
// jLable.setBounds(0, 400, 740, 180);
// this.add(jLable);// 调用方法,往面板上添加组件addControlToPanelAdd();addControlToPanelDel();addControlToPanelQuery();addControlToPanelLend();addControlToPanelUpdate();addControlToPanelBorrow();// 创建一个标签,用来显示文字,添加在NorthJLabel labelTitle = new JLabel("英才大学图书馆管理系统");Globle gl =new Globle();User user =new User();user = gl.get();JLabel labelWelcome = new JLabel("欢迎您用户"+user.getID()+"!");labelTitle.setFont(new Font(null, Font.BOLD, 36)); // 设置字体labelTitle.setForeground(new Color(60, 60, 160)); // 设置颜色JPanel pane1 = new JPanel(); pane1.add(labelTitle);pane1.add(labelWelcome);getContentPane().add("North", pane1);// 添加选项卡组件到居中位置getContentPane().add("Center", tabbedPane);//按键响应MyButtonListener listen = new MyButtonListener();btnInsertData.addActionListener(listen);btnNoToDel.addActionListener(listen);btnNameToFind.addActionListener(listen);btnANameToFind.addActionListener(listen);btnLend.addActionListener(listen);btnUpData.addActionListener(listen);btnBorrow.addActionListener(listen);} // 添加控件到面板B(删除数据)上的方法public void addControlToPanelDel() {lblNoToDel = new JLabel("请输入要删除的图书编号:");txtNoToDel = new JTextField("", 15);btnNoToDel = new JButton("删除");panelB.add(lblNoToDel);panelB.add(txtNoToDel);panelB.add(btnNoToDel);}// 添加控件到面板C(查询数据)上的方法public void addControlToPanelQuery() {lblNameToFind = new JLabel("请输入要查询的书名(支持模糊查询)");txtNameToFind = new JTextField("", 6);btnNameToFind = new JButton("查询");lblANameToFind = new JLabel("请输入要查询的作者名(支持模糊查询)");txtANameToFind = new JTextField("", 6);btnANameToFind = new JButton("查询");areaShowResult = new JTextArea(20, 80); // 20行,80列JPanel pTmp = new JPanel(new GridLayout(2,3));pTmp.add(lblNameToFind);pTmp.add(txtNameToFind);pTmp.add(btnNameToFind);pTmp.add(lblANameToFind);pTmp.add(txtANameToFind);pTmp.add(btnANameToFind);// 面板C采用边界布局,上方是输入信息组件,下方是显示信息组件BorderLayout bl = new BorderLayout();panelC.setLayout(bl);// 面板C的靠上组件pTmp,居中组件areaShowResultpanelC.add("North", pTmp);panelC.add("Center", areaShowResult);}// 添加控件到面板A上的方法public void addControlToPanelAdd() {lblBno = new JLabel("书本编号 * ");lblBName = new JLabel("书名 * ");lblAName = new JLabel("作者姓名 * "); // 标签后面跟上1个星号提醒用户,这是必须输入的字段lblPrice = new JLabel("书本单价");lblPhone = new JLabel("电话号码");//lblEmail = new JLabel("电子邮箱");txtBno = new JTextField("", 12);txtBName = new JTextField("", 10);txtAName = new JTextField("", 10);txtPrice = new JTextField("", 15);//txtEmail = new JTextField("", 18);btnInsertData = new JButton("添加");buttonCancel = new JButton("清空");// 对当前面板设置布局管理GridBagLayout gbl = new GridBagLayout();GridBagConstraints gbc = new GridBagConstraints();gbc.anchor = GridBagConstraints.NORTHWEST;panelA.setLayout(gbl);// 添加控件 第1行gbc.gridy = 1;gbc.gridx = 1;gbl.setConstraints(lblBno, gbc);panelA.add(lblBno);gbc.gridy = 1;gbc.gridx = 2;gbl.setConstraints(txtBno, gbc);panelA.add(txtBno);// 添加控件 第2行gbc.gridy = 2;gbc.gridx = 1;gbl.setConstraints(lblBName, gbc);panelA.add(lblBName);gbc.gridy = 2;gbc.gridx = 2;gbl.setConstraints(txtBName, gbc);panelA.add(txtBName);//gbc.gridy = 3;gbc.gridx = 1;gbl.setConstraints(lblAName, gbc);panelA.add(lblAName);gbc.gridy = 3;gbc.gridx = 2;gbl.setConstraints(txtAName, gbc);panelA.add(txtAName);// 添加控件 第4行gbc.gridy = 4;gbc.gridx = 1;gbl.setConstraints(lblPrice, gbc);panelA.add(lblPrice);gbc.gridy = 4;gbc.gridx = 2;gbl.setConstraints(txtPrice, gbc);panelA.add(txtPrice);
// // 添加控件 第5行
// gbc.gridy = 5;
// gbc.gridx = 1;
// gbl.setConstraints(lblEmail, gbc);
// panelA.add(lblEmail);
// gbc.gridy = 5;
// gbc.gridx = 2;
// gbl.setConstraints(txtEmail, gbc);
// panelA.add(txtEmail);// 添加控件 第7行gbc.gridy = 7;gbc.gridx = 3;gbl.setConstraints(btnInsertData, gbc);panelA.add(btnInsertData);gbc.gridy = 7;gbc.gridx = 4;gbl.setConstraints(buttonCancel, gbc);panelA.add(buttonCancel);}//添加控件到面板D上的方法public void addControlToPanelLend() {lblNoLend = new JLabel("请输入要借阅的图书编号:");txtNoLend = new JTextField("", 15);lblNameLend = new JLabel("请输入你的姓名:");txtNameLend = new JTextField("", 15);lblIDLend = new JLabel("请输入你的借阅证号(账号):");txtIDLend = new JTextField("", 15);btnLend = new JButton("借阅");GridBagLayout gbl = new GridBagLayout();GridBagConstraints gbc = new GridBagConstraints();gbc.anchor = GridBagConstraints.NORTHWEST;panelD.setLayout(gbl);gbc.gridy = 1;gbc.gridx = 1;gbl.setConstraints(lblNoLend, gbc);panelD.add(lblNoLend);gbc.gridy = 1;gbc.gridx = 2;gbl.setConstraints(txtNoLend, gbc);panelD.add(txtNoLend);gbc.gridy = 2;gbc.gridx = 1;gbl.setConstraints(lblNameLend, gbc);panelD.add(lblNameLend);gbc.gridy = 2;gbc.gridx = 2;gbl.setConstraints(txtNameLend, gbc);panelD.add(txtNameLend);gbc.gridy = 3;gbc.gridx = 1;gbl.setConstraints(lblIDLend, gbc);panelD.add(lblIDLend);gbc.gridy = 3;gbc.gridx = 2;gbl.setConstraints(txtIDLend, gbc);panelD.add(txtIDLend);gbc.gridy = 4;gbc.gridx = 2;gbl.setConstraints(btnLend, gbc);panelD.add(btnLend);}//Epublic void addControlToPanelBorrow() {lblNoBorrow = new JLabel("请输入要归还的图书编号:");txtNoBorrow = new JTextField("", 15);lblIDBorrow = new JLabel("请输入你的借阅证号(账号):");txtIDBorrow = new JTextField("", 15);btnBorrow = new JButton("归还");GridBagLayout gbl = new GridBagLayout();GridBagConstraints gbc = new GridBagConstraints();gbc.anchor = GridBagConstraints.NORTHWEST;panelE.setLayout(gbl);gbc.gridy = 1;gbc.gridx = 1;gbl.setConstraints(lblNoBorrow, gbc);panelE.add(lblNoBorrow);gbc.gridy = 1;gbc.gridx = 2;gbl.setConstraints(txtNoBorrow, gbc);panelE.add(txtNoBorrow);gbc.gridy = 2;gbc.gridx = 1;gbl.setConstraints(lblIDBorrow, gbc);panelE.add(lblIDBorrow);gbc.gridy = 2;gbc.gridx = 2;gbl.setConstraints(txtIDBorrow, gbc);panelE.add(txtIDBorrow);gbc.gridy = 3;gbc.gridx = 2;gbl.setConstraints(btnBorrow, gbc);panelE.add(btnBorrow);}//添加控件到面板F上的方法public void addControlToPanelUpdate(){lblPoint = new JLabel("请输入您要更新的图书信息 ");lblUpBno = new JLabel("书本编号 * ");lblUpBName = new JLabel("书名 * ");lblUpAName = new JLabel("作者姓名 * "); // 标签后面跟上1个星号提醒用户,这是必须输入的字段lblUpPrice = new JLabel("书本单价");lblUpPhone = new JLabel("电话号码");//lblEmail = new JLabel("电子邮箱");txtUpBno = new JTextField("", 12);txtUpBName = new JTextField("", 10);txtUpAName = new JTextField("", 10);txtUpPrice = new JTextField("", 15);//txtEmail = new JTextField("", 18);btnUpData = new JButton("更新");buttonUpCancel = new JButton("清空");// 对当前面板设置布局管理GridBagLayout gbl = new GridBagLayout();GridBagConstraints gbc = new GridBagConstraints();gbc.anchor = GridBagConstraints.NORTHWEST;panelF.setLayout(gbl);// 添加控件 第1行gbc.gridy = 1;gbc.gridx = 1;gbl.setConstraints(lblUpBno, gbc);panelF.add(lblUpBno);gbc.gridy = 1;gbc.gridx = 2;gbl.setConstraints(txtUpBno, gbc);panelF.add(txtUpBno);// 添加控件 第2行gbc.gridy = 2;gbc.gridx = 1;gbl.setConstraints(lblUpBName, gbc);panelF.add(lblUpBName);gbc.gridy = 2;gbc.gridx = 2;gbl.setConstraints(txtUpBName, gbc);panelF.add(txtUpBName);//gbc.gridy = 3;gbc.gridx = 1;gbl.setConstraints(lblUpAName, gbc);panelF.add(lblUpAName);gbc.gridy = 3;gbc.gridx = 2;gbl.setConstraints(txtUpAName, gbc);panelF.add(txtUpAName);// 添加控件 第4行gbc.gridy = 4;gbc.gridx = 1;gbl.setConstraints(lblUpPrice, gbc);panelF.add(lblUpPrice);gbc.gridy = 4;gbc.gridx = 2;gbl.setConstraints(txtUpPrice, gbc);panelF.add(txtUpPrice);// 添加控件 第7行gbc.gridy = 7;gbc.gridx = 3;gbl.setConstraints(btnUpData, gbc);panelF.add(btnUpData);gbc.gridy = 7;gbc.gridx = 4;gbl.setConstraints(buttonUpCancel, gbc);panelF.add(buttonUpCancel);}// 显示提示信息的方法private void showMsg(String sArgs) {JOptionPane.showMessageDialog(Mangament.this, sArgs);}class MyButtonListener implements ActionListener {public void actionPerformed(ActionEvent evt) {// 根据事件源是不同按钮,调用不同的方法if (evt.getSource() == btnInsertData)insertData();if (evt.getSource() == btnNoToDel)deleteData();if (evt.getSource() == btnNameToFind)try {selectData();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}if (evt.getSource() == btnANameToFind)try {selectAData();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}if (evt.getSource() == btnLend)try {LendBook();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}if( evt.getSource() == btnBorrow)try {BorrowBook();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}if(evt.getSource()==btnUpData)updateData();}} // end of class MyButtonListener// 添加数据对应的代码封装在这里private void insertData() {String BNo = txtBno.getText();int id = Integer.parseInt(BNo);String BName = txtBName.getText();String AName = txtAName.getText();String Price = txtPrice.getText();double price = Double.parseDouble(Price);String sSapce = " ";// 四个空格String sTmp = BNo + sSapce + BName + AName + Price ;showMsg("图书添加成功!");Contro control = new Contro();try {control.addbook(id, BName, AName, price);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}// 删除数据对应的代码封装在这里private void deleteData() {String BNo = txtNoToDel.getText();int id = Integer.parseInt(BNo);Contro control = new Contro();control.deletebook(id);showMsg("您要删除的书本号是:" + BNo+",删除成功!");}// 查询数据对应的代码封装在这里private void selectData() throws Exception {String BName = txtNameToFind.getText();showMsg("您要查询的书本信息:" + BName);Contro control = new Contro();control.qury(areaShowResult, "name", BName);}private void selectAData() throws Exception {String AName = txtANameToFind.getText();showMsg("您根据作者查询的信息:" + AName);Contro control = new Contro();control.qury(areaShowResult, "aname", AName);}private void LendBook() throws Exception {String ID = txtNoLend.getText();int id =Integer.parseInt(ID);String name = txtNameLend.getText();String Uid = txtIDLend.getText();showMsg(name+"您要借阅的图书编号:"+id);Contro con = new Contro();if(con.lend(id, name, Uid)== 0)showMsg("借阅失败!");elseshowMsg("借阅成功!");}private void BorrowBook() throws Exception {String ID = txtNoBorrow.getText();int id =Integer.parseInt(ID);String Uid = txtIDBorrow.getText();showMsg("您要归还的图书编号:"+id);Contro con = new Contro();if(con.borrow(id,Uid)== 0)showMsg("归还失败!");elseshowMsg("归还成功!");}private void updateData() {String BNo = txtUpBno.getText();int id = Integer.parseInt(BNo);String BName = txtUpBName.getText();String AName = txtUpAName.getText();String Price = txtUpPrice.getText();String sSapce = " ";// 四个空格String sTmp = BNo + sSapce + BName + AName + Price ;System.out.println( sTmp );Contro control = new Contro();try {control.updatebook(id, BName,Price , AName);showMsg("图书更新成功!");} catch (Exception e) {// TODO Auto-generated catch blockshowMsg("图书更新失败!");e.printStackTrace();}}
}
这篇关于java+sql server 数据库实现英才大学图书管理系统 第一部分 连接数据库及界面实现的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!