參自: 語言技術: Java Gossip (二) <<<超連結
使用無參數的createStatement(),prepareStatement()其執行SQL後所得之ResultSet物件,只能透過next()方法逐筆查詢(沒參數預設就是第一個)。
現在我們指定resultSetType,參數有ResultSet.TYPE_FORWARD_ONLY,
ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.TYPE_SCROLL_SENSITIVE。
SENSITIVE與否差異在於能否取得ResultSet改變值後的資料。
另外必須指定resultSetConcurrency,參數有ResultSet.CONCUR_READ_ONLY與ResultSet.CONCUR_UPDATABLE。
不給參數情況,預設為 ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_UPDATABLE。
範例
Statement st=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
ResultSet rs=st.executeQuery(SELETE * FROM FriendList);
rs.afterLast(); //最後一筆的下一筆
while(rs.previous()){
System.out.print(rs.getString("name")+"\t");
System.out.print(rs.getString("age")+"\t");
System.out.println(rs.getString("email")+"\t");
}
st.close();
con.close();
其他用法
rs.absolute(5); //移動到第五筆資料
rs.absolute(10); // ...............十............
rs.absolute(-5); //倒數第五筆
rs.relative(5); //若原是第25筆資料,則表示第30筆
rs.relative(-5); //若原是第25筆資料,則表示第20筆
rs.beforeFirst(); //移動到第一筆資料之前
rs.first(); //移動到第一筆資料
rs.last(); //移動到最後一筆資料
沒有留言:
張貼留言