2016-11-16 3 views
0

Я получил метод, чтобы получить целое число из таблицы MySQLJava, MySQL - NULL ResultSet

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

, если ваше значение return 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

Смежные вопросы