[英]Result Set return null value
在一個非常簡單的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
題:
知道發生了什么嗎? 有什么辦法嗎?
謝謝
找到了問題。 這是因為ps.close()代碼。
因為我在這里不使用它,但是我關閉了它,這引起了一個問題..
感謝Luiggi的printStackTrace想法。 感謝您的所有答案。 我真的很感激..:D
順便說一句,一種好的做法是,如果您要處理ResultSet
,則在對其進行操作之前首先檢查返回的結果集是否不為null,例如rs.next()
,如果rs
為null
,它將為您提供NPE。
if(rs != null) {
while(rs.next()) {
this.dbChoices[i] = rs.getString("DB_Type");
i++;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.