2017-03-20 9 views
-2

なぜ2回は中断できないのですか.2度目は空白になります。ResultSetを複数回使用しても期待通りに機能しない

String sql = "select * from t_user"; 
Connection con = dbUtil.getCon(); 
Statement statement = con.createStatement(); 
ResultSet rs = statement.executeQuery(sql); 
while (rs.next()) { 
    System.out.println("phoneFirst" + rs.getString("phone")); 
} 

while (rs.next()) { 
    System.out.println("phoneSecond" + rs.getString("phone")); 
} 

enter image description here

+1

ラインに使用するためにリセットします。 –

答えて

3

ResultSetはそのように動作しません、ので、それはです。それは前方のみです。終わりに達すると、最初に戻ることはありません。スクロール可能な結果を​​使用することができます。

Statement statement = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, 
    ResultSet.CONCUR_READ_ONLY); 

そして、あなたはWhileループで行わたらあなたはすでに事の種類一度読まれる結果セットを、消費してきたので、最初のrs.beforeFirst();

​​
関連する問題