在一个非常简单的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()
如果rs
为null
,它将为您提供NPE。
if(rs != null) {
while(rs.next()) {
this.dbChoices[i] = rs.getString("DB_Type");
i++;
}
}
关于java - 结果集返回空值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12684732/