1

我正在使用以下代码插入数据库,它工作正常,因为我可以看到数据填充在数据库中,但是我想以编程方式捕获结果,无论它是成功还是失败

1)这是要插入的代码

public void SignUp(String last_name, String first_name, String email,
        String password, String confirm_password, String phone) {

    Connect connect = new Connect();
    Connection conn = connect.Connection();
    Statement stmt = conn.createStatement();

    String query = "INSERT INTO users VALUES(NULL,('" + last_name + "'),('"
            + first_name + "'),('" + email + "'),('" + password + "'),('"
            + confirm_password + "'),('" + phone + "'))";
    stmt.executeUpdate(query);
    conn.close();

}

2)这是我用来连接的代码

public Connection Connection() {

    Connection conn = null;

    try {
        String userName = "admin";
        String password = "admin";
        String url = "jdbc:mysql://localhost/project";
        Class.forName("com.mysql.jdbc.Driver").newInstance();
        conn = DriverManager.getConnection(url, userName, password);

        System.out.println("\n Database connection established");

    } catch (Exception e) {
        e.printStackTrace();
        System.err.println("\n Cannot connect to database server");

    }
}
4

2 回答 2

9

执行更新

public int executeUpdate(String sql)
                  throws SQLException

返回:INSERT、UPDATE 或 DELETE 语句的行数,或 0 用于不返回任何内容的 SQL 语句

于 2012-07-24T17:37:11.673 回答
0

最简单的方法是直接查询它。检查 API总是一个好主意,但是通过更新,我不确定除非出现异常,否则是否有一种干净的方法来判断它是否成功(除了没有抛出异常)。

作为旁注,请查看Prepared Statements。在执行未过滤的 sql 时,使用 strait text 通常不是一个好主意。

于 2012-07-24T17:38:38.663 回答