【问题标题】:Java SQL only show right recordJava SQL 只显示正确的记录
【发布时间】:2012-12-05 14:02:20
【问题描述】:

对于学校练习,我需要从数据库中获取一些信息。

我们需要扫描一张 RFID 卡并在数据库中查找。但是当我尝试在 IDE 中打印出该行时,我得到的结果比我想要的要多。

RFID 标签类似于:2R KL MZ 89,如果我尝试从数据库中获取它,我会得到:Access Granted。 (因为那是正确的记录)和拒绝访问。 (因为那是错误的记录。

长话短说:我如何获得仅授予访问权限。当标签正确且仅拒绝访问时。

代码:

while (rs.next()) {

        String number = rs.getString("number");

        if (number.equals(key)) {
            System.out.println("Access Granted.");
        } else {
            System.out.println("Access Denied");
        }
    }

表:

我的表只有id,是自增的,另一行叫number,里面有两条记录:正确的标签和错误的标签。

【问题讨论】:

  • 你的桌子怎么样?您也可以向我们展示您的代码/查询吗? :)
  • 您将获得 ResultSet 中每个条目的输出。您的 SQL 查询看起来如何?
  • "另一行叫做数字" .. 还是你的意思是另一列?
  • 他的意思是列。 ;) 无论如何,Jean-Philippe 给出了答案,无需通过结果集,这应该通过简单的 SQL 查询来“修复”。

标签: java mysql sql jdbc


【解决方案1】:

您应该使用如下查询:

从 myTable 中选择 1,其中 RF_ID = key

使用这个,如果键存在,您将有一行,否则没有行。

如果您只需要在表中查找特定值,那么循环多行是没有用的。

【讨论】:

  • 考虑到你的桌子,这是要走的路。专注于您的 SQL 查询,而不是 Java 代码。
猜你喜欢
  • 2018-09-08
  • 1970-01-01
  • 1970-01-01
  • 2016-07-11
  • 1970-01-01
  • 1970-01-01
  • 2011-07-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多