StuAddDiag.java 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. package C;
  2. import javax.swing.JDialog;
  3. import javax.swing.*;
  4. import java.awt.*;
  5. import java.awt.event.ActionEvent;
  6. import java.awt.event.ActionListener;
  7. import java.sql.Statement;
  8. import java.sql.Connection;
  9. import java.sql.DriverManager;
  10. import java.sql.ResultSet;
  11. import java.sql.*;
  12. public class StuAddDiag extends JDialog implements ActionListener {
  13. //定义我需要的swing组件
  14. JLabel jl1,jl2,jl3,jl4,jl5,jl6;
  15. JTextField jf1,jf2,jf3,jf4,jf5,jf6;
  16. JPanel jp1,jp2,jp3;
  17. JButton jb1,jb2;
  18. //owner代笔父窗口,title是窗口的名字,modal指定是模式窗口()或者非模式窗口
  19. public StuAddDiag(Frame owner,String title, boolean modal){
  20. //调用父类方法
  21. super(owner,title,modal);
  22. jl1 = new JLabel("设备ID");
  23. jl2 = new JLabel("设备名称");
  24. jl3 = new JLabel("大小");
  25. jl4 = new JLabel("重量");
  26. jl5 = new JLabel("供应商");
  27. jl6 = new JLabel("价格");
  28. jf1 = new JTextField(10);
  29. jf2 = new JTextField(10);
  30. jf3 = new JTextField(10);
  31. jf4 = new JTextField(10);
  32. jf5 = new JTextField(10);
  33. jf6 = new JTextField(10);
  34. jb1 = new JButton("添加");
  35. jb1.addActionListener(this);
  36. jb2 = new JButton("取消");
  37. jp1 = new JPanel();
  38. jp2 = new JPanel();
  39. jp3 = new JPanel();
  40. //设置布局
  41. jp1.setLayout(new GridLayout(6,1));
  42. jp2.setLayout(new GridLayout(6,1));
  43. jp3.add(jb1);
  44. jp3.add(jb2);
  45. jp1.add(jl1);
  46. jp1.add(jl2);
  47. jp1.add(jl3);
  48. jp1.add(jl4);
  49. jp1.add(jl5);
  50. jp1.add(jl6);
  51. jp2.add(jf1);
  52. jp2.add(jf2);
  53. jp2.add(jf3);
  54. jp2.add(jf4);
  55. jp2.add(jf5);
  56. jp2.add(jf6);
  57. this.add(jp1, BorderLayout.WEST);
  58. this.add(jp2, BorderLayout.CENTER);
  59. this.add(jp3, BorderLayout.SOUTH);
  60. this.setSize(300,200);
  61. this.setVisible(true);
  62. }
  63. @Override
  64. public void actionPerformed(ActionEvent e) {
  65. // TODO Auto-generated method stub
  66. if(e.getSource() == jb1){
  67. Connection ct = null;
  68. PreparedStatement pstmt = null;
  69. ResultSet rs = null;
  70. try{
  71. //1.加载驱动
  72. Class.forName("com.mysql.jdbc.Driver");
  73. System.out.println("加载成功");
  74. //2.连接数据库
  75. //定义几个常量
  76. String url = "jdbc:mysql://localhost:3306/spdb1";
  77. String user = "root";
  78. String passwd = "qsefthuko";
  79. ct = DriverManager.getConnection(url,user,passwd);
  80. //与编译语句对象
  81. String strsql = "insert into stu values(?,?,?,?,?,?)";
  82. pstmt = ct.prepareStatement(strsql);
  83. //给对象赋值
  84. pstmt.setString(1,jf1.getText());
  85. pstmt.setString(2,jf2.getText());
  86. pstmt.setString(3,jf3.getText());
  87. pstmt.setString(4,jf4.getText());
  88. pstmt.setString(5,jf5.getText());
  89. pstmt.setString(6,jf6.getText());
  90. pstmt.executeUpdate();
  91. this.dispose();//关闭对话框
  92. }catch(Exception arg1){
  93. arg1.printStackTrace();
  94. }finally{
  95. try{
  96. if(rs!=null){
  97. rs.close();
  98. rs = null;
  99. }
  100. if(pstmt != null){
  101. pstmt.close();
  102. pstmt = null;
  103. }
  104. if(ct != null){
  105. ct.close();
  106. ct = null;
  107. }
  108. }catch(Exception arg2){
  109. arg2.printStackTrace();
  110. }
  111. }
  112. }
  113. }
  114. }