です。 rst
を反復処理すると、常にnull
が返されます。はなぜ返されるResultSetヌル
public ResultSet Detail(String mobile) throws Exception {
dbConnect(); // make connection
String sql = "select * from profile where mobile = ?";
PreparedStatement pstmt = con.prepareStatement(sql);
pstmt.setString(1, mobile);
ResultSet rst = pstmt.executeQuery();
dbClose(); // connection closed
return rst;
}
は今、私はリターンからそれを受信した後rst
を反復処理する場合、私はnull
値を取得します。
try {
ResultSet rst = new DB().Detail(mobile);
String fname = rst.getString("firstname");
String lname = rst.getString("lasttname");
String date = rst.getString("dateofbirth");
System.out.println("First name : " + fname + "\nLast Name : " + lname + "\nDate of Birth : " + date);
} catch (Exception exc) {
exc.printStackTrace();
}
出力:あなたはあなたがResultSetからのデータ要素にアクセスすることができます前next()
方法を呼び出す必要がResultSetの公式ドキュメントによると
First name : null
Last name : null
Date of Birth : null
Javaコードスタイルガイドラインに従うだけのこと: 'Detail(String mobile)'メソッドの名前を 'getDetail(String mobile)'に変更する必要があります。Javaメソッド名は常に小文字で始まります。例えば 'get'(ゲッターメソッド)、' set'(セッターメソッド)、 'is'(ブールゲッターメソッド)のような動詞です。 – TuringTux