Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
287 views
in Technique[技术] by (71.8m points)

java - 如何使用Java插入mysql数据库(how to insert into mysql database with java)

i want to insert inputs i take from user into mysql database the connection is right but the insertion gives me error

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

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax;

(com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:SQL语法有错误;)

check the manual that corresponds to your MariaDB server version for the right syntax to use near ''u_fname', 'u_lname', 'u_uname', 'u_pass', 'u_age', 'u_adderess') values('20','o' at line 1

(检查与您的MariaDB服务器版本相对应的手册以获取正确的语法,以在``u_fname'',``u_lname'',``u_uname'',``u_pass'',``u_age'',``u_adderess'')值('20','o '在第1行)

My code is:

(我的代码是:)

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);
    }

}
  ask by Omar Mohamed translate from so

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

To insert into mysql, follow these steps-

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

  1. Create a Java Connection to our example MySQL database.

    (创建一个到我们的示例MySQL数据库的Java连接。)

    I believe you already took care of it.

    (我相信您已经照顾好了。)

    It will be something like this-

    (这将是这样的-)

      String myDriver = "org.gjt.mm.mysql.Driver"; String myUrl = "jdbc:mysql://localhost/test"; Class.forName(myDriver); Connection conn = DriverManager.getConnection(myUrl, "root", ""); 
  2. Create a SQL INSERT statement, using the Java PreparedStatement syntax.

    (使用Java PreparedStatement语法创建SQL INSERT语句。)

    Your PreparedStatement SQL statement will be as following this format-

    (您的PreparedStatement SQL语句将采用以下格式-)

      String sql = " insert into users (first_name, last_name, date_created, is_admin, num_points)" + " values (?, ?, ?, ?, ?)"; 
  3. Set the fields on our Java PreparedStatement object.

    (在我们的Java PreparedStatement对象上设置字段。)

    It will done as-

    (它将作为)

      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. Execute a Java PreparedStatement.

    (执行Java PreparedStatement。)

      preparedStmt.execute(); 
  5. Close our Java MYSQL database connection.

    (关闭我们的Java MYSQL数据库连接。)

      conn.close(); 
  6. Catch any SQL exceptions that may come up during the process.

    (捕获过程中可能出现的所有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); } 

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...