首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >空ResultSet异常

空ResultSet异常
EN

Stack Overflow用户
提问于 2011-10-04 10:38:27
回答 5查看 5.6K关注 0票数 3

我想和甲骨文取得一些记录。

代码语言:javascript
运行
复制
java.sql.ResultSet r = s.executeQuery("Select * from table1");
while (r.next()==true) {
    System.out.println(r.getString("column1").toString());  
      }

table1包含类似于行的内容

  • row1 movieName1
  • row2 movieName2
  • row3
  • row4 movieName2

>F 210

当我执行上面的代码时,我会得到“线程中的异常”主“java.lang.NullPointerException”错误。我怎么才能修好它?

EN

回答 5

Stack Overflow用户

发布于 2011-10-04 10:41:12

看来column1没有一排的值..。因此,getString()返回一个空引用,然后调用toString(),从而导致异常。当您调用getString()时,toString()调用无论如何都是没有意义的,因此您可以将其重写为:

代码语言:javascript
运行
复制
while (r.next()) {
    System.out.println(r.getString("column1"));  
}

然后,它将打印null。如果您想避免这种情况,请使用:

代码语言:javascript
运行
复制
while (r.next()) {
    String name = r.getString("column1");
    if (name != null) {
        System.out.println(name);
    }
}
票数 4
EN

Stack Overflow用户

发布于 2011-10-04 10:42:11

  1. r.getString("column1")的返回值可能为null,因此您将在随后的toString()方法调用中获得一个NullPointerException。在使用返回值之前,必须检查空值。

  1. ,您不需要在这里调用toString()getString方法已经返回一个字符串.
票数 2
EN

Stack Overflow用户

发布于 2011-10-04 10:42:21

您没有说明在代码中发生异常的确切位置。最可能的原因是snull,或者r.getString("column1")返回null

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7646604

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档