0

所以我有这个工作代码/准备好的语句,它将用户名和密码添加到数据库中,但是我需要检查用户名是否已经存在于代码中。

public void addUser(Connection conn, PreparedStatement pstmnt, String username, String password) 
    {
        try 
        {
            pstmnt = conn.prepareStatement("insert into users values (?,?,?)");
            pstmnt.setInt(1, 0);
            pstmnt.setString(2, username);
            pstmnt.setString(3, password);
            pstmnt.executeUpdate();
        } 
        catch (SQLException e) { System.out.println("Error: " + e.getMessage()); }

        System.out.println(username + " has been added");
    }

有什么简单的方法可以做到这一点吗?

4

2 回答 2

1

您可以在数据库中添加唯一约束并相应地处理 addUSer 中的异常

于 2013-06-18T13:14:43.987 回答
0

如果没有太多重复密钥风险,您可以尝试检查错误代码是否匹配“重复密钥错误”(错误 ORA-00001)。

否则,您必须锁定整个表,检查密钥是否存在,更新然后提交(释放锁定)

于 2013-06-18T13:14:18.390 回答