从jTextField到表sql的错误查询插入

时间:2013-06-26 15:56:17

标签: java swing jdbc jtextfield

我有问题我从4个JTextField添加数据以将它们插入到表sql中 但它给了我关于查询的错误

这是代码

try {
    Class.forName("com.mysql.jdbc.Driver").newInstance();

    String connectionUrl = "jdbc:mysql://localhost:3306/admin";
    String connectionUser = "root";
    String connectionPassword = "123456";
    conn = DriverManager.getConnection(connectionUrl, connectionUser, connectionPassword);
    stmt = conn.createStatement();
    stmt.executeUpdate("INSERT INTO user(id, nom, login, mdp, statut) VALUES ('','"+jTextField2.getText()+ "','" +jTextField4.getText()+"','"+jTextField3.getText()+"','"+jPasswordField1.getText()+"'");

}catch (ClassNotFoundException ex) {
    Logger.getLogger(frame.class.getName()).log(Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
    Logger.getLogger(frame.class.getName()).log(Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
    Logger.getLogger(frame.class.getName()).log(Level.SEVERE, null, ex);
} catch (SQLException ex) {
    Logger.getLogger(frame.class.getName()).log(Level.SEVERE, null, ex);
}

这是错误:

  

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:您的SQL语法中有错误;检查与MySQL服务器版本对应的手册,以便在第1行的''附近使用正确的语法

1 个答案:

答案 0 :(得分:1)

您在查询中错过了VALUES()的结尾括号。

 stmt.executeUpdate("INSERT INTO user(id, nom, login, mdp, statut) VALUES ('','"+jTextField2.getText()+ "','" +jTextField4.getText()+"','"+jTextField3.getText()+"','"+jPasswordField1.getText()+"')");