2016-11-16 65 views
0

我有一個方法,從一個MySQL表的Java,MySQL的 - NULL結果集

public int getAddressID(String postcode) throws SQLException { 
    String q = "SELECT PK_ADDRESS_ID FROM tbl_addresses WHERE postcode =" + "\"" + postcode + "\""; 
    System.out.println(q); 
    ResultSet rs = executeSearch(q); 
    int pc = 0; 
    while (rs.next()) { 
     String str = rs.getString("postcode"); 
     pc = Integer.parseInt(str); 
    } 
    System.out.println(pc); 
    return pc; 
} 

查詢似乎不錯,但不知何故,當我初始化一些變量,使用這種方法,我得到的錯誤Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: ""得到一個整數。我錯過了什麼?謝謝你的幫助!

+0

郵編的價值是什麼? – mm759

+0

這個想法是輸入一個郵政編碼,然後找到ADDRESS_ID。郵政編碼值是唯一的。 –

+0

如果您的返回address_id值不是數字,則不能轉換爲int。 –

回答

3

你的SQL是SELECT PK_ADDRESS_ID ...

但你嘗試獲得

rs.getString("postcode"); 

變化

rs.getString("PK_ADDRESS_ID"); 
-1

看來你是從數據庫中選擇PK_ADDRESS_ID列,返回的值是「」(empty)NULL。因此它顯示NumberFormatException不能轉換爲數字。

所以請檢查您從數據庫中獲得的值。

+0

這看起來像一個錯誤的假設評論。 – AxelH