java 中createStatement()方法的實例詳解
用缺省設置創建時,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
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!