簡體   English   中英

結果集返回空值

[英]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() ,如果rsnull ,它將為您提供NPE。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM