Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何确认插入查询成功?_Java - Fatal编程技术网

Java 如何确认插入查询成功?

Java 如何确认插入查询成功?,java,Java,我正在使用以下代码插入数据库,它工作正常,因为我可以看到数据库中填充的数据,但是我希望通过编程捕获结果,无论结果是成功还是失败 1) 这是要插入的代码 public void SignUp(String last_name, String first_name, String email, String password, String confirm_password, String phone) { Connect connect = new Connect();

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

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

    }
}
执行更新

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

执行更新

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


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


作为旁注,请看一看。在执行未经消毒的sql时,通常使用strait文本不是一个好主意。

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


作为旁注,请看一看。通常,在执行未经消毒的sql时使用Streat文本不是一个好主意。

为了逗我开心,请尝试将Shaquille O'Neal的名字保存到数据库中。然后研究一下。@MattMitchell--谢谢你的链接:)为了逗我开心,试着把Shaquille O'Neal这个名字保存到你的数据库中。然后做一些研究。@MattMitchell--谢谢你的链接:)在插入时,你知道它会返回受影响的行还是0,因为没有返回任何内容?只要新记录输入成功,插入一行将返回大于零的值。@JohnKane-我在我的示例中尝试了这一点,但没有得到预期的结果,你能举个例子吗?@srikan举个例子吗?在使用
public int executeUpdate(String sql)时,在插入时抛出SQLException
,您知道它会返回受影响的行还是0,因为没有返回任何内容?只要新记录输入成功,插入一行将返回大于零的值。@JohnKane-我在示例中尝试了这一点,但没有得到预期的结果,你能举个例子吗?@srikan举个例子吗?在使用
public int executeUpdate(String sql)时抛出SQLException
public int executeUpdate(String sql)
                  throws SQLException