我使用foll0wing代码插入数据库,它正常工作,因为我可以看到db中的数据填充,但是我想以编程方式捕获结果,无论是成功还是失败
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");
}
}
答案 0 :(得分:9)
的executeUpdate
public int executeUpdate(String sql)
throws SQLException
返回:INSERT,UPDATE或DELETE语句的行数, 或0表示不返回任何内容的SQL语句
答案 1 :(得分:0)
最简单的方法是直接查询。对check the API来说总是一个好主意,但是有了更新,我不确定除非有一个简洁的方法来判断它是否成功(除了没有抛出异常)。
作为旁注,请查看Prepared Statements。在执行未经过清理的sql时使用海峡文本通常不是一个好主意。