0

ここで問題があります。テーブルから現在の日付と列を取得したいのです。これまでの私のコードは次のとおりです。

s = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
rset = s.executeQuery("select getdate() as date, tglpengiriman from orders");
java.sql.Date date = rset.getDate("date");
java.sql.Date tglkirim = rset.getDate("tglpengiriman"); 

上記のコードの3行目で、「ResultSetに現在の行がありません」という例外をスローします。コードの何が問題になっていますか? ResultSet の使い方を誤解しているのではないでしょうか?

回答ありがとうございます...

編集:答えた。以下の @Christopher からの投稿を参照してください。ありがとう

4

3 に答える 3

3

ResultSet.get *メソッドを呼び出す前に、ResultSet.nextを呼び出す必要があります。Statement、ResultSetなどのドキュメントを参照してください。また、すべてのリソースを「finally」ブロックで閉じるようにしてください。

于 2012-05-25T21:05:46.100 に答える
0

結果セットのデータをこのように反復します

while (resultSet.next()) {
java.sql.Date date = rset.getDate("date");
java.sql.Date tglkirim = rset.getDate("tglpengiriman"); 
}

結果セットの初期位置は常に最初のレコードの前、つまり最初のレコードの先頭にあるため、このresultSet.next()は、結果セットが最初のレコードを指すようにします。

于 2012-10-22T07:02:11.170 に答える
0

rset.next()結果セットからデータを取得する前に呼び出す必要があります 。rset.next()それがtrueを返したことを確認することも賢明です。

于 2012-05-25T21:06:47.083 に答える