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

executeUpdate

public int executeUpdate(String sql)
                  throws SQLException

戻り値: INSERT、UPDATE、または DELETE ステートメントの行数、または何も返さない SQL ステートメントの場合は 0

于 2012-07-24T17:37:11.673 に答える
0

最も簡単な方法は、直接クエリを実行することです。APIをチェックすることは常に良い考えですが、更新では、例外を禁止することで、成功したかどうかを確認する明確な方法があるかどうかわかりません (例外がスローされないことを除いて)。

補足として、Prepared Statementsを見てください。通常、サニタイズされていない sql を実行するときに単純なテキストを使用することはお勧めできません。

于 2012-07-24T17:38:38.663 に答える