在一个非常简单的SELECT查询中检索时遇到麻烦。
我正在尝试从表'db_con_type'中检索所有信息,并将它们放入dbChoices的数组String中。

数据库:

选择查询在报表设计器中工作正常。抱歉,由于我是新来的,我无法上传图像。

码:

public void setDbTypeChoices()
    {
       try
        {
            con2db connect2db = new con2db();
            con = connect2db.aksesDatabase();
            stmt = con.createStatement();
            String sql = "SELECT * FROM db_con_type";

            rs = stmt.executeQuery(sql);

            int i = 0;
            while(rs.next())
            {
                this.dbChoices[i] = rs.getString("DB_Type");
                i++;
            }

            rs.close();
            stmt.close();
            ps.close();
            con.close();

            //Close Connection
            connect2db.tutupKoneksi();
        }
       catch(Exception e)
       {
           System.out.println("SQL ERROR 1 = " + e.getMessage());
           System.out.println("SQL ERROR 2 = " + e.toString());
       }
    }


错误:

SQL错误1 =空

SQL错误2 = java.lang.NullPointerException

题:

知道发生了什么吗?有什么办法吗?

谢谢

最佳答案

顺便说一句,这是一个好习惯,如果您要处理ResultSet,请先检查返回的结果集是否不为null,然后再对其进行操作,例如rs.next()如果rsnull,它将为您提供NPE。

if(rs != null) {
    while(rs.next()) {
        this.dbChoices[i] = rs.getString("DB_Type");
        i++;
    }
}

关于java - 结果集返回空值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12684732/

10-14 00:35