繁体   English   中英

如何将数据行从我的学生表复制到另一个表(学生记录)?

[英]How to Copy a Data Row from my Student Table to another table (Student Record)?

我有一个使用 java 的登录系统,我的系统有最后一个问题。

当我仅在 JTextField 中键入和登录学生的学生 ID 号时,它将在文本字段中显示他或她的名字和姓氏。 这是我的学生登录系统。

我的问题是,当我登录他或她的学生 id 时,我想复制学生的数据,如学生 id、名字、中间名、姓氏,并插入到 PMA 中的学生记录表中。 这是我的代码:

Class.forName("com.mysql.jdbc.Driver");
                Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/studentdatabase","root","");

                String student_id = txtStudent_ID.getText();
                String sql = "INSERT INTO 'studentrecord' (stud_id, first_name, middle_name, last_name) "
                        + "SELECT firstname, middlename, lastname FROM 'student' WHERE student_id = '" + student_id + "' ";

                if (student_id.length() > 0) {
                    Statement st = conn.prepareStatement(sql);
                    ResultSet rs = st.executeQuery(sql);
                    if (student_id.length() > 0) {
            if (rs.next()) {
                    String firstname = rs.getString(3);
                    String lastname = rs.getString(5);

                    txtFirstName.setText(firstname);
                    txtLastName.setText(lastname);

                    JOptionPane.showMessageDialog(null, "Logged in", "Success",
                                JOptionPane.INFORMATION_MESSAGE);
            } else {
                    JOptionPane.showMessageDialog(null, "Sorry!, No data found for this ID", "Student ID",
                                JOptionPane.ERROR_MESSAGE);

                    JOptionPane.showMessageDialog(null, "Enter a Valid ID", "Student ID Information",
                                JOptionPane.INFORMATION_MESSAGE);

                        txtStudent_ID.setText("");

            }
                }
                }
        } catch (Exception ex) {

                JOptionPane.showMessageDialog(null, "SQL Syntax should be reviewed", "Database",
                        JOptionPane.ERROR_MESSAGE);


        }

它将有一个错误,它说“应该审查 SQL 语法”需要帮助。

我不知道 java,所以相反,这是一个有效的 MySQL 查询示例:

INSERT INTO studentrecord 
(first_name, middle_name, last_name)
SELECT firstname, middlename, lastname 
  FROM student WHERE student_id = 'student_id' 

或者

INSERT INTO studentrecord 
(stud_id,first_name, middle_name, last_name)
SELECT stud_id,firstname, middlename, lastname 
  FROM student WHERE student_id = 'student_id' 

stud_idstudent_id不同,只有你自己知道怎么解决!)

尝试转义'如下

"INSERT INTO \'studentrecord\' (stud_id, first_name, middle_name, last_name) "
            + "SELECT firstname, middlename, lastname FROM \'student\' WHERE student_id = \'"+ student_id + "\' ";

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM