JavaTM Platform
Standard Ed. 6

javax.sql.rowset
인터페이스 JdbcRowSet

모든 슈퍼 인터페이스:
Joinable , ResultSet , RowSet , Wrapper


public interface JdbcRowSet
extends RowSet , Joinable

JdbcRowSet 의 모든 표준 구현이 구현해야 하는 표준 인터페이스입니다.

1.0 개요

결과 세트를 JavaBeansTM 컴퍼넌트로서 사용할 수 있도록(듯이) 하는 ResultSet 객체의 래퍼입니다. 따라서,JdbcRowSet 객체는, 툴이 어플리케이션의 조립에 이용할 수 있는 Beans 의 1 개가 됩니다. JdbcRowSet 는 접속된 행 세트이므로, JDBC 테크놀러지를 사용 가능한 드라이버를 사용해 데이타베이스 접속을 계속해 보관 유지합니다. 또, 드라이버를 사실상의 JavaBeans 컴퍼넌트로 합니다.  

항상 데이타베이스에 접속되고 있으므로,JdbcRowSet 의 인스턴스는, 이 접속상에서 호출을 실시해, 계속되어 이것들을 그 ResultSet 객체상에서 호출합니다. 그 결과, 예를 들어 결과 세트는, Swing 어플리케이션의 컴퍼넌트가 됩니다.  

JdbcRowSet 객체의 이제(벌써) 1 개의 이점은,ResultSet 객체에 스크롤 기능과 갱신 기능을 갖게할 수가 있는 점에 있습니다. 모든 RowSet 객체는, 디폴트로, 스크롤 기능과 갱신 기능을 갖추고 있습니다. 사용하는 드라이버와 데이타베이스가 결과 세트의 스크롤 기능이나 갱신 기능을 지원하지 않는 경우, 어플리케이션은 JdbcRowSet 객체에 ResultSet 객체의 데이터를 이식해, 마치 ResultSet 객체와 같이 JdbcRowSet 객체를 조작할 수가 있습니다.  

2.0JdbcRowSet 객체의 작성

JdbcRowSet 인터페이스의 레퍼런스 구현,JdbcRowSetImpl 는, 디폴트 생성자 의 구현을 제공합니다. 새로운 인스턴스는, 디폴트 값로 초기화됩니다. 그 후, 필요에 따라서 새로운 값을 설정할 수 있습니다. 새로운 인스턴스는,execute 메소드가 불려 갈 때까지, 실제로는 기능하지 않습니다. 일반적으로, 이 메소드는 다음의 처리를 실시합니다. execute 메소드는, 성공했을 경우, 적절한 private JdbcRowSet 필드에 다음의 항목을 설정합니다. 이러한 필드가 설정되어 있지 않은 경우는,execute 메소드가 정상적으로 실행되지 않았던 것이 됩니다. 행 세트상에서는,executeclose 이외의 메소드는 호출할 수 없습니다. 따라서, 그 외의 public 메소드는 모두 예외를 throw 합니다.  

그러나,execute 메소드의 호출전에, 접속의 확립에 필요한 커멘드와 프로퍼티을 설정할 필요가 있습니다. 다음의 코드에서는,JdbcRowSetImpl 객체를 작성해, 커멘드 및 접속의 프로퍼티을 설정해, 플레이스홀더 파라미터를 설정해, 한층 더execute 메소드를 호출합니다.

JdbcRowSetImpl jrs = new JdbcRowSetImpl();
jrs.setCommand("SELECT * FROM TITLES WHERE TYPE = ? ");
jrs.setURL("jdbc:myDriver:myAttribute");
jrs.setUsername("cervantes");
jrs.setPassword("sancho");
jrs.setString(1, "BIOGRAPHY");
jrs.execute();
 
변수 jrs 는, 겉(표) TITLES (서적의 종류는 전기 문학) 내의 모든 행을 포함한 ResultSet 객체의 thin 래퍼,JdbcRowSetImpl 의 인스턴스를 표현하게 됩니다. 이 시점에서,jrs 상에서 불려 가는 조작은, 결과 세트내의 행 (사실상의 JavaBeans 컴퍼넌트)에 영향을 미칩니다.  

JdbcRowSet 레퍼런스 구현의 RowSet 메소드 execute 의 구현은,CachedRowSetTM 레퍼런스 구현내의 구현과는 다릅니다. 이것은,RowSet 객체가 접속되고 있는지 어떤지에 의해 요건이 다른 것을 고려한 결과입니다.  


필드의 개요
 
인터페이스 java.sql. ResultSet 로부터 상속된 필드
CLOSE_CURSORS_AT_COMMIT , CONCUR_READ_ONLY , CONCUR_UPDATABLE , FETCH_FORWARD , FETCH_REVERSE , FETCH_UNKNOWN , HOLD_CURSORS_OVER_COMMIT , TYPE_FORWARD_ONLY , TYPE_SCROLL_INSENSITIVE , TYPE_SCROLL_SENSITIVE
 
메소드의 개요
 void commit ()
          JdbcRowSet 에는,ResultSetConnection 객체인가, 생성자 에게 건네지는 JDBC 프로퍼티이 포함됩니다.
 boolean getAutoCommit ()
          JdbcRowSet 에는, 원의 ResultSetConnection 객체인가, 거기에 건네받는 JDBC 프로퍼티이 포함됩니다.
 RowSetWarning getRowSetWarnings ()
          이 JdbcRowSet 객체상의 호출에 의해 보고된 최초의 경고를 가져옵니다.
 boolean getShowDeleted ()
          삭제 마크를 붙일 수 있었던 행을 현재의 행과 함께 표시할지 어떨지를 나타내는 boolean 를 가져옵니다.
 void rollback ()
          JdbcRowSet 에는, 원의 ResultSetConnection 객체인가, 거기에 건네받는 JDBC 프로퍼티이 포함됩니다.
 void rollback (Savepoint  s)
          JdbcRowSet 에는, 원의 ResultSetConnection 객체인가, 거기에 건네받는 JDBC 프로퍼티이 포함됩니다.
 void setAutoCommit (boolean autoCommit)
          JdbcRowSet 에는, 원의 ResultSetConnection 객체인가, 거기에 건네받는 JDBC 프로퍼티이 포함됩니다.
 void setShowDeleted (boolean b)
          showDeleted 프로퍼티에, 지정된 boolean 치를 설정합니다.
 
인터페이스 javax.sql. RowSet 로부터 상속된 메소드
addRowSetListener , clearParameters , execute , getCommand , getDataSourceName , getEscapeProcessing , getMaxFieldSize , getMaxRows , getPassword , getQueryTimeout , getTransactionIsolation , getTypeMap , getUrl , getUsername , isReadOnly , removeRowSetListener , setArray , setAsciiStream , setAsciiStream , setAsciiStream , setAsciiStream , setBigDecimal , setBigDecimal , setBinaryStream , setBinaryStream , setBinaryStream , setBinaryStream , setBlob , setBlob , setBlob , setBlob , setBlob , setBlob , setBoolean , setBoolean , setByte , setByte , setBytes , setBytes , setCharacterStream , setCharacterStream , setCharacterStream , setCharacterStream , setClob , setClob , setClob , setClob , setClob , setClob , setCommand , setConcurrency , setDataSourceName , setDate , setDate , setDate , setDate , setDouble , setDouble , setEscapeProcessing , setFloat , setFloat , setInt , setInt , setLong , setLong , setMaxFieldSize , setMaxRows , setNCharacterStream , setNCharacterStream , setNCharacterStream , setNCharacterStream , setNClob , setNClob , setNClob , setNClob , setNClob , setNClob , setNString , setNString , setNull , setNull , setNull , setNull , setObject , setObject , setObject , setObject , setObject , setObject , setPassword , setQueryTimeout , setReadOnly , setRef , setRowId , setRowId , setShort , setShort , setSQLXML , setSQLXML , setString , setString , setTime , setTime , setTime , setTime , setTimestamp , setTimestamp , setTimestamp , setTimestamp , setTransactionIsolation , setType , setTypeMap , setURL , setUrl , setUsername
 
인터페이스 java.sql. ResultSet 로부터 상속된 메소드
absolute , afterLast , beforeFirst , cancelRowUpdates , clearWarnings , close , deleteRow , findColumn , first , getArray , getArray , getAsciiStream , getAsciiStream , getBigDecimal , getBigDecimal , getBigDecimal , getBigDecimal , getBinaryStream , getBinaryStream , getBlob , getBlob , getBoolean , getBoolean , getByte , getByte , getBytes , getBytes , getCharacterStream , getCharacterStream , getClob , getClob , getConcurrency , getCursorName , getDate , getDate , getDate , getDate , getDouble , getDouble , getFetchDirection , getFetchSize , getFloat , getFloat , getHoldability , getInt , getInt , getLong , getLong , getMetaData , getNCharacterStream , getNCharacterStream , getNClob , getNClob , getNString , getNString , getObject , getObject , getObject , getObject , getRef , getRef , getRow , getRowId , getRowId , getShort , getShort , getSQLXML , getSQLXML , getStatement , getString , getString , getTime , getTime , getTime , getTime , getTimestamp , getTimestamp , getTimestamp , getTimestamp , getType , getUnicodeStream , getUnicodeStream , getURL , getURL , getWarnings , insertRow , isAfterLast , isBeforeFirst , isClosed , isFirst , isLast , last , moveToCurrentRow , moveToInsertRow , next , previous , refreshRow , relative , rowDeleted , rowInserted , rowUpdated , setFetchDirection , setFetchSize , updateArray , updateArray , updateAsciiStream , updateAsciiStream , updateAsciiStream , updateAsciiStream , updateAsciiStream , updateAsciiStream , updateBigDecimal , updateBigDecimal , updateBinaryStream , updateBinaryStream , updateBinaryStream , updateBinaryStream , updateBinaryStream , updateBinaryStream , updateBlob , updateBlob , updateBlob , updateBlob , updateBlob , updateBlob , updateBoolean , updateBoolean , updateByte , updateByte , updateBytes , updateBytes , updateCharacterStream , updateCharacterStream , updateCharacterStream , updateCharacterStream , updateCharacterStream , updateCharacterStream , updateClob , updateClob , updateClob , updateClob , updateClob , updateClob , updateDate , updateDate , updateDouble , updateDouble , updateFloat , updateFloat , updateInt , updateInt , updateLong , updateLong , updateNCharacterStream , updateNCharacterStream , updateNCharacterStream , updateNCharacterStream , updateNClob , updateNClob , updateNClob , updateNClob , updateNClob , updateNClob , updateNString , updateNString , updateNull , updateNull , updateObject , updateObject , updateObject , updateObject , updateRef , updateRef , updateRow , updateRowId , updateRowId , updateShort , updateShort , updateSQLXML , updateSQLXML , updateString , updateString , updateTime , updateTime , updateTimestamp , updateTimestamp , wasNull
 
인터페이스 java.sql. Wrapper 로부터 상속된 메소드
isWrapperFor , unwrap
 
인터페이스 javax.sql.rowset. Joinable 로부터 상속된 메소드
getMatchColumnIndexes , getMatchColumnNames , setMatchColumn , setMatchColumn , setMatchColumn , setMatchColumn , unsetMatchColumn , unsetMatchColumn , unsetMatchColumn , unsetMatchColumn
 

메소드의 상세

getShowDeleted

boolean getShowDeleted()
                       throws SQLException 
삭제 마크를 붙일 수 있었던 행을 현재의 행과 함께 표시할지 어떨지를 나타내는 boolean 를 가져옵니다. true 가 돌려주어졌을 경우, 삭제행은 현재의 행과 함께 표시됩니다. false 가 돌려주어졌을 경우, 삭제행은 현재의 행세트내에 표시되지 않습니다. 디폴트 값는 false 입니다.  

표준행 세트 구현은, 시큐리티상의 배려 또는 특정의 배치 시나리오에 적합시키기 (위해)때문에, 이 동작을 제한할 수가 있습니다. 삭제된 행의 가시성은 구현에 의해 정의되어 표준의 동작을 나타내지 않습니다.  

주:삭제된 행을 표시하면(자), 일부의 표준 JDBC RowSet 구현 메소드의 동작이 복잡하게 됩니다. 그러나, 삭제된 행을 표시하는 기능은, 매우 전문적인 어플리케이션으로 밖에 사용되지 않습니다. 따라서, 대부분의 행 세트 사용자는, 이 설정을 무시해 괜찮습니다.

반환값:
삭제된 행을 표시하는 경우는 true, 그렇지 않은 경우는 false
예외:
SQLException - 행 세트 구현이, 삭제행이 표시된 채로 있을지 어떨지를 판단할 수 없는 경우
관련 항목:
setShowDeleted(boolean)

setShowDeleted

void setShowDeleted(boolean b)
                    throws SQLException 
showDeleted 프로퍼티에, 지정된 boolean 치를 설정합니다. 이 프로퍼티에 의해, 삭제행을 현재의 행 세트내에 계속해 표시할지 어떨지가 결정됩니다. 값이 true 의 경우, 삭제된 행이 현재의 행 세트와 함께 표시됩니다. 값이 false 의 경우, 삭제된 행은 현재의 행 세트내에 표시되지 않습니다.  

표준행 세트 구현은, 시큐리티상의 배려 또는 특정의 배치 시나리오에 적합시키기 (위해)때문에, 이 동작을 제한할 수가 있습니다. 이것은 정의 끝난 구현으로서 남겨져 표준의 동작을 나타내지 않습니다.

파라미터:
b - 삭제된 행을 표시하는 경우는 true, 그렇지 않은 경우는 false
예외:
SQLException - 행 세트 구현이, 삭제행의 표시 또는 비표시의 설정을 리셋 할 수 없는 경우
관련 항목:
getShowDeleted()

getRowSetWarnings

RowSetWarning  getRowSetWarnings()
                                throws SQLException 
JdbcRowSet 객체상의 호출에 의해 보고된 최초의 경고를 가져옵니다. JdbcRowSet 객체상에 2 번째의 경고가 보고되었을 경우, 이 경고는 최초의 경고에 체인 됩니다. 따라서, 2 번째의 경고는, 최초의 경고에 대해서 RowSetWarning.getNextWarning 메소드를 호출하는 것으로 취득할 수 있습니다. 이 JdbcRowSet 객체상의 후속의 경고는,RowSetWarning.getNextWarning 메소드에 의해 반환되는 RowSetWarning 객체에 체인 됩니다. 경고 체인은, 새로운 행이 읽힐 때마다 자동적으로 클리어 됩니다. 이 메소드는 클로즈 된 RowSet 객체의 호출에는 사용하지 않습니다. 사용하면(자) SQLException 가 throw 됩니다.  

JdbcRowSet 객체는, 항상 데이터 소스에 접속되고 있으므로, 액티브한 Statement,Connection, 및 ResultSet 인스턴스의 존재에 의존할 수가 있습니다. 즉, 어플리케이션은, 이것들이 제공하는 getNextWarning 메소드를 불러내는 것으로, 추가의 SQLWarning 통지를 취득할 수 있게 됩니다. CachedRowSet 객체 등, 미접속의 Rowset 객체는, 이러한 getNextWarning 메소드에 액세스 할 수 없습니다.

반환값:
JdbcRowSet 객체상에서 보고되었다 최초의 RowSetWarning 객체. 없는 경우는 null
예외:
SQLException - 이 메소드가, 닫혀진 JdbcRowSet 객체상에서 불려 갔을 경우
관련 항목:
RowSetWarning

commit

void commit()
            throws SQLException 
JdbcRowSet 에는,ResultSetConnection 객체인가, 생성자 에게 건네지는 JDBC 프로퍼티이 포함됩니다. 이 메소드는,Connection 위탁 메소드를 랩 해, 유연한 자동 위탁 또는 비자동 위탁의 트랜잭션(transaction) 제어 지원를 제공합니다.  

직전의 위탁/롤백(rollback) 이후에 행해진 변경을 모두 유효로 해, 이 Connection 객체가 현재 보관 유지하는 데이타베이스 락을 모두 해제합니다. 이 메소드는 자동 위탁 모드가 무효가 되어 있을 때 밖에 사용할 수 없습니다.

예외:
SQLException - 데이타베이스 액세스 에러가 발생했을 경우, 또는 이 JdbcRowSet 내의 Connection 객체가 자동 위탁 모드인 경우
관련 항목:
Connection.setAutoCommit(boolean)

getAutoCommit

boolean getAutoCommit()
                      throws SQLException 
JdbcRowSet 에는, 원의 ResultSetConnection 객체인가, 거기에 건네받는 JDBC 프로퍼티이 포함됩니다. 이 메소드는,ConnectiongetAutoCommit 메소드를 랩 해, 어플리케이션이 JdbcRowSet 트랜잭션(transaction)의 동작을 확인할 수 있도록(듯이) 합니다.  

이 접속의 자동 위탁 모드가 지정된 상태로 설정합니다. 접속이 자동 위탁 모드의 경우, 그 모든 SQL 문은 실행되어 개별의 트랜잭션(transaction)로서 위탁됩니다. 그렇지 않은 경우, 그 SQL 문은, commit 메소드 또는 rollback 메소드에의 호출에 의해 종료되는 트랜잭션(transaction)에 그룹화 됩니다. 디폴트에서는, 새로운 접속은 자동 위탁 모드입니다.

예외:
SQLException - 데이타베이스 액세스 에러가 발생했을 경우
관련 항목:
Connection.getAutoCommit()

setAutoCommit

void setAutoCommit(boolean autoCommit)
                   throws SQLException 
JdbcRowSet 에는, 원의 ResultSetConnection 객체인가, 거기에 건네받는 JDBC 프로퍼티이 포함됩니다. 이 메소드는,ConnectiongetAutoCommit 메소드를 랩 해, 어플리케이션이 JdbcRowSet 트랜잭션(transaction)의 동작을 설정할 수 있도록(듯이) 합니다.  

Connection 객체의 현재의 자동 위탁 모드를 설정합니다.

예외:
SQLException - 데이타베이스 액세스 에러가 발생했을 경우
관련 항목:
Connection.setAutoCommit(boolean)

rollback

void rollback()
              throws SQLException 
JdbcRowSet 에는, 원의 ResultSetConnection 객체인가, 거기에 건네받는 JDBC 프로퍼티이 포함됩니다. 현재의 트랜잭션(transaction)에 있어서의 모든 변경을 취소해, 현재 이 Connection 객체가 보관 유지하고 있는 모든 데이타베이스 락을 해제합니다. 이 메소드는 자동 위탁 모드가 무효가 되어 있을 때 밖에 사용할 수 없습니다.

예외:
SQLException - 데이타베이스 액세스 에러가 발생했을 경우, 또는 이 JdbcRowSet 내의 Connection 객체가 자동 위탁 모드인 경우
관련 항목:
rollback(Savepoint)

rollback

void rollback(Savepoint  s)
              throws SQLException 
JdbcRowSet 에는, 원의 ResultSetConnection 객체인가, 거기에 건네받는 JDBC 프로퍼티이 포함됩니다. 현재의 트랜잭션(transaction)로부터 마지막 setSavepoint 까지의 모든 변경을 취소해, 현재 이 Connection 객체가 보관 유지하고 있는 모든 데이타베이스 락을 해제합니다. 이 메소드는 자동 위탁 모드가 무효가 되어 있을 때 밖에 사용할 수 없습니다.

예외:
SQLException - 데이타베이스 액세스 에러가 발생했을 경우, 또는 이 JdbcRowSet 내의 Connection 객체가 자동 위탁 모드인 경우
관련 항목:
rollback()

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.