检查Oracle数据库中是否存在用户 - java jdbc

时间:2013-06-18 13:05:41

标签: java oracle jdbc

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

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

有没有简单的方法可以做到这一点?

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

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