Java-检查数据库中是否已经存在id

Java-检查数据库中是否已经存在id,java,database,Java,Database,我试图在点击按钮后在JTextField中使用名称和ID登录。第一次登录后,所有用户都存储在数据库中。 我想做的是:如果用户已经存储在数据库中,我想显示欢迎回来的消息,但我现在得到的是重复条目“11”,用于键“PRIMARY”。我想忽略这一点,因为如果用户存储在数据库中,它应该可以再次登录并继续下一页。如果用户是新用户,我将显示一个JOptionPane欢迎新用户 到目前为止,我尝试的是: JOptionPane.showMessageDialognull,已存在; }

我试图在点击按钮后在JTextField中使用名称和ID登录。第一次登录后,所有用户都存储在数据库中。 我想做的是:如果用户已经存储在数据库中,我想显示欢迎回来的消息,但我现在得到的是重复条目“11”,用于键“PRIMARY”。我想忽略这一点,因为如果用户存储在数据库中,它应该可以再次登录并继续下一页。如果用户是新用户,我将显示一个JOptionPane欢迎新用户

到目前为止,我尝试的是: JOptionPane.showMessageDialognull,已存在; }

                String query1 = "SELECT * FROM user";
                PreparedStatement pst1 = con.prepareStatement(query1);
                ResultSet r1= pst1.executeQuery();
            if(....)JOptionPane.showMessageDialog(null,"...");} 
                    else if(r1.next()) {
                        if (r1.getString("ID").equals(txtFieldID.getText())) {

Thx所有提前。

您应该首先执行一个查询以验证该ID是否已存在于数据库中,因此在这种情况下,您将只得到一个结果:从ID=?。如果该查询的结果返回的值大于0,则该用户存在,您将显示该消息


您不应该查询整个表,然后迭代每一行来进行这种验证。

您确定尝试过吗?因为它无法编译。请同时添加SQL查询。真的吗??所以是的,它抛出了一个异常,但它成功了。但它并没有显示JOptionPane已经存在我认为我的代码肯定是错的:D@TimurLevadny谢谢你的回答。它是否类似于ifrs.next>0{JOptionPane.showMessageDialogUser exist}?是的,这也可以工作,但在这种情况下,您应该仅更改ID的计数。如果保留计数,则应将结果强制转换为整数。