2016-11-16 119 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