我想将我从用户那里获取的输入插入到mysql数据库中,连接正确,但是插入却给我错误

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:SQL语法有错误; 检查与您的MariaDB服务器版本相对应的手册以获取正确的语法,以在``u_fname'',``u_lname'',``u_uname'',``u_pass'',``u_age'',``u_adderess'')值('20','o '在第1行

我的代码是:

public void adduser(User s) {
   try {
        sql = "insert into users ('u_fname', 'u_lname', 'u_uname', 'u_pass', 'u_age', 'u_adderess')"
                + "values('" + s.getFirstname() + "','" + s.getLastname()
                + "','" + s.getUsername() + "','" + s.getPassword() + "','" + s.getAge() + "','" + s.getAdderss() + "')";
        stmt = conn.createStatement();
        int i = stmt.executeUpdate(sql);
        if (i > 0) {
            System.out.println("ROW INSERTED");
        } else {
            System.out.println("ROW NOT INSERTED");
        }
    } catch (Exception e) {
        System.out.println(e);
    }

}

===============>>#1 票数:2

要插入mysql,请按照以下步骤操作:

  1. 创建一个到我们的示例MySQL数据库的Java连接。 我相信您已经照顾好了。 这将是这样的-

      String myDriver = "org.gjt.mm.mysql.Driver"; String myUrl = "jdbc:mysql://localhost/test"; Class.forName(myDriver); Connection conn = DriverManager.getConnection(myUrl, "root", ""); 
  2. 使用Java PreparedStatement语法创建SQL INSERT语句。 您的PreparedStatement SQL语句将采用以下格式-

      String sql = " insert into users (first_name, last_name, date_created, is_admin, num_points)" + " values (?, ?, ?, ?, ?)"; 
  3. 在我们的Java PreparedStatement对象上设置字段。 它将作为

      PreparedStatement preparedStmt = conn.prepareStatement(sql); preparedStmt.setString (1, s.first_name); preparedStmt.setString (2, s.last_name); preparedStmt.setDate (3, s.date_created); preparedStmt.setBoolean(4, s.is_admin); preparedStmt.setInt (5, s.num_points); 
  4. 执行Java PreparedStatement。

      preparedStmt.execute(); 
  5. 关闭我们的Java MYSQL数据库连接。

      conn.close(); 
  6. 捕获过程中可能出现的所有SQL异常。

      catch (Exception e) { System.err.println("Got an exception!"); // printStackTrace method // prints line numbers + call stack e.printStackTrace(); // Prints what exception has been thrown System.out.println(e); } 

  ask by Omar Mohamed translate from so

未解决问题?本站智能推荐: