StuUpDiag.java 4.4 KB

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