2016-11-16 5 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("PK_ADDRESS_ID"); 
-1

rs.getString("postcode"); 

変更を取得しようと、あなたがデータベースからPK_ADDRESS_ID列を選択しているようで、返された値がいずれかであります"" (empty)またはNULLです。したがって、数値として変換できないNumberFormatExceptionが表示されます。

したがって、データベースから取得した値を確認してください。

+0

これは間違った前提を持つコメントのようです。 – AxelH