用缺省設置創建時,ResultSet 是一種只能訪問一次(one-time-through)、只能向前訪問(forward-only)和只讀的對象。您只能訪問數據一次,如果再次需要該數據,必須重新查詢數據庫。
然而,并不只有這一種方式。通過設置 Statement 對象上的參數,您可以控制它產生的 ResultSet。例如:
... Class.forName(driverName); db = DriverManager.getConnection(connectURL); Statement statement = db.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE ); String orderElName = xmlfileEl.getElementsByTagName("order").item(0) .getFirstChild().getNodeValue(); ...
這個 Statement 現在將產生可以更新并將應用其他數據庫用戶所作更改的 ResultSet。您還可以在這個 ResultSet 中向前和向后移動。
第一個參數指定 ResultSet 的類型。其選項有:
TYPE_FORWARD_ONLY:缺省類型。只允許向前訪問一次,并且不會受到其他用戶對該數據庫所作更改的影響。 TYPE_SCROLL_INSENSITIVE:允許在列表中向前或向后移動,甚至可以進行特定定位,例如移至列表中的第四個記錄或者從當前位置向后移動兩個記錄。不會受到其他用戶對該數據庫所作更改的影響。 TYPE_SCROLL_SENSITIVE:象 TYPE_SCROLL_INSENSITIVE 一樣,允許在記錄中定位。這種類型受到其他用戶所作更改的影響。如果用戶在執行完查詢之后刪除一個記錄,那個記錄將從 ResultSet 中消失。類似的,對數據值的更改也將反映在 ResultSet 中。 第二個參數設置 ResultSet 的并發性,該參數確定是否可以更新 ResultSet。其選項有:
CONCUR_READ_ONLY:這是缺省值,指定不可以更新 ResultSet CONCUR_UPDATABLE:指定可以更新 ResultSet
|