JavaTM 2 Platform
Standard Ed. 6

javax.sql.rowset
介面 JoinRowSet

所有父級介面:
CachedRowSet, Joinable, ResultSet, RowSet, WebRowSet, Wrapper

public interface JoinRowSet
extends WebRowSet

JoinRowSet 介面提供了一種機制,用於將取自不同 RowSet 物件的相關資料組合到一個 JoinRowSet 物件中,該物件表示一個 SQL JOIN。換句話說,JoinRowSet 物件可作為一個資料容器,這些資料取自那些形成 SQL JOIN 關係的 RowSet 物件。

Joinable 介面提供了一些用於設置、獲取和取消設置比對列的方法,比對列建立 SQL JOIN 關係的基礎。通過將比對列提供給恰當形式的 JointRowSet 方法 addRowSet 也可設置比對列。

1.0 概觀

無連接的 RowSet 物件(CachedRowSet 物件和擴展 CachedRowSet 介面的實作)沒有一種能在 RowSet 之間建立 SQL JOIN且無需重新連接資料源(該操作開銷很大)的標準方式。JoinRowSet 介面是專門為解決這一需求而設計的。

任何 RowSet 物件都可添加到 JoinRowSet 物件,以成為 SQL JOIN 關係的一部分。這意味著已連接和無連接的 RowSet 物件都可成為 JOIN 的一部分。鼓勵在連接環境中運行的 RowSet 物件(JdbcRowSet 物件)使用它們已連接的資料庫直接在表之間建立 SQL JOIN 關係。但必要時也可以將 JdbcRowSet 物件添加到 JoinRowSet 物件中。

可將任意數目的 RowSet 物件添加到 JoinRowSet 的實例中,前提是只要這些物件可以在 SQL JOIN 中關聯起來。根據定義,SQL JOIN 語句用於將兩個或多個基於某個公共屬性的關聯型資料庫表中所包含的資料組合在一起。Joinable 介面提供了用於建立公共屬性的方法,可通過設置比對列 來建立。比對列通常與主鍵相符,但是不要求比對列與主鍵相同。通過建立然後強制執行比對列,JoinRowSet 物件可在 RowSet 物件之間建立 JOIN 關係,無需可用關係型資料庫的協助。

可通過使用方法 setJoinType 設置某個 JoinRowSet 常數來確定要建立的 JOIN 的型別。可設置以下 SQL JOIN 型別:

注意,如果未設置型別,則 JOIN 將自動為 INNER_JOIN。JoinRowSet 介面中各欄位的註釋說明了這些 JOIN 型別,它們都是標準的 SQL JOIN 型別。

2.0 使用 JoinRowSet 物件創建 JOIN

當創建了一個 JoinRowSet 物件時,它是空的。要添加的第一個 RowSet 物件將成為 JOIN 關係的基礎。應用程序必須確定在要添加到 JoinRowSet 物件的每個 RowSet 物件中,哪個列應該是比對列。所有的 RowSet 物件必須包含比對列,並且每個比對列中的值必須可以與其他比對列中的值相比較。這些列不必有相同的名稱(雖然通常它們的名稱相同),只要資料型別是可比較的,它們也不必存儲完全相同的資料型別。

可用兩種方式來設置比對列:

3.0 範例用法

以下程式碼片斷將兩個 CachedRowSet 物件添加到 JoinRowSet 物件中。注意,在此範例中未設置 SQL JOIN 型別,所以建立了預設的 JOIN 型別,即 INNER_JOIN

在以下程式碼片斷中,表 EMPLOYEES 被添加到 JoinRowSet 物件 jrs 中,該表的比對列被設置為第一列 (EMP_ID)。然後添加表 ESSP_BONUS_PLAN,其比對列同樣是 EMP_ID 列。將第二個表添加到 jrs 時,只添加 EMP_ID 值比對 EMPLOYEESEMP_ID 值的 ESSP_BONUS_PLAN 中的行。在這種情況下,紅利分派中的所有人都是僱員,所以表 ESSP_BONUS_PLAN 中的所有行都被添加 JoinRowSet 物件中。在此範例中,兩個被添加的 CachedRowSet 物件都已實作了 Joinable 介面,因此都可調用 Joinable 方法 setMatchColumn

     JoinRowSet jrs = new JoinRowSetImpl();
 
     ResultSet rs1 = stmt.executeQuery("SELECT * FROM EMPLOYEES");
     CachedRowSet empl = new CachedRowSetImpl();
     empl.populate(rs1);
     empl.setMatchColumn(1); 
     jrs.addRowSet(empl);
 
     ResultSet rs2 = stmt.executeQuery("SELECT * FROM ESSP_BONUS_PLAN");
     CachedRowSet bonus = new CachedRowSetImpl();
     bonus.populate(rs2);
     bonus.setMatchColumn(1); // EMP_ID is the first column
     jrs.addRowSet(bonus);
 

此時,jrs 是兩個 RowSet 物件基於其 EMP_ID 列的內部 JOIN。應用程序現在可以瀏覽已組合的資料,就好像在瀏覽單個 RowSet 物件一樣。因為 jrs 本身是一個 RowSet 物件,所以應用程序可以使用 RowSet 方法瀏覽或修改它。

     jrs.first();
     int employeeID = jrs.getInt(1);
     String employeeName = jrs.getString(2);
 

注意,因為在應用程序添加第二個或後續 RowSet 物件時必須強制執行 SQL JOIN,所以在執行 JOIN 時最初會出現性能下降。

以下程式碼片斷添加了一個附加 CachedRowSet 物件。在這種情況下,將 CachedRowSet 物件添加到 JoinRowSet 物件時設置比對列 (EMP_ID)。

     ResultSet rs3 = stmt.executeQuery("SELECT * FROM 401K_CONTRIB");
     CachedRowSet fourO1k = new CachedRowSetImpl();
     four01k.populate(rs3);
     jrs.addRowSet(four01k, 1);
 

JoinRowSet 物件 jrs 現在包含取自所有三個表的值。EMP_ID 列值比對 jrsEMP_ID 列值的 four01k 中的每行資料都被添加到 jrs

4.0 JoinRowSet 方法

JoinRowSet 介面提供了多種方法用於添加 RowSet 物件和獲得有關 JoinRowSet 物件的資訊。


欄位摘要
static int CROSS_JOIN
          ANSI 樣式的 JOIN,提供兩個表的交叉乘積。
static int FULL_JOIN
          ANSI 樣式的 JOIN,提供一個完全 JOIN。
static int INNER_JOIN
          ANSI 樣式的 JOIN,提供兩個表之間的內聯合 (inner join)。
static int LEFT_OUTER_JOIN
          ANSI 樣式的 JOIN,提供兩個表之間的左外聯合 (left outer join)。
static int RIGHT_OUTER_JOIN
          ANSI 樣式的 JOIN,提供兩個表之間的右外聯合 (right outer join)。
 
從介面 javax.sql.rowset.WebRowSet 繼承的欄位
PUBLIC_XML_SCHEMA, SCHEMA_SYSTEM_ID
 
從介面 javax.sql.rowset.CachedRowSet 繼承的欄位
COMMIT_ON_ACCEPT_CHANGES
 
從介面 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 addRowSet(Joinable rowset)
          將給定的 RowSet 物件添加到此 JoinRowSet 物件。
 void addRowSet(RowSet[] rowset, int[] columnIdx)
          將給定 RowSet 物件陣列中包含的一個或多個 RowSet 物件添加到此 JoinRowSet 物件,並且將每個 RowSet 物件的比對列設置為給定列索引陣列中的比對列。
 void addRowSet(RowSet[] rowset, String[] columnName)
          將給定 RowSet 物件陣列中包含的一個或多個 RowSet 物件添加到此 JoinRowSet 物件,並且將每個 RowSet 物件的比對列設置為給定列名陣列中的比對列。
 void addRowSet(RowSet rowset, int columnIdx)
          將給定的 RowSet 物件添加到此 JoinRowSet 物件,並將指定的列設置為 RowSet 物件的比對列。
 void addRowSet(RowSet rowset, String columnName)
          將 rowset 添加到此 JoinRowSet 物件,並將指定的列設置為比對列。
 int getJoinType()
          返回一個 int 值,它描述控制此 JoinRowSet 實例的已設置 SQL JOIN 型別。
 String[] getRowSetNames()
          返回一個 String 陣列,包含添加到此 JoinRowSet 物件的 RowSet 物件的名稱。
 Collection<?> getRowSets()
          返回一個 Collection 物件,包含已經添加到此 JoinRowSet 物件的 RowSet 物件。
 String getWhereClause()
          返回在 JoinRowSet 物件中使用的 WHERE 子句的類似 SQL 的描述。
 void setJoinType(int joinType)
          允許應用程序調整在 JoinRowSet 物件實例包含的表上強制應用的 JOIN 型別。
 boolean supportsCrossJoin()
          指示 JoinRowSet 實作是否支持 CROSS_JOIN。
 boolean supportsFullJoin()
          指示 JoinRowSet 實作是否支持 FULL_JOIN。
 boolean supportsInnerJoin()
          指示 JoinRowSet 實作是否支持 INNER_JOIN。
 boolean supportsLeftOuterJoin()
          指示 JoinRowSet 實作是否支持 LEFT_OUTER_JOIN。
 boolean supportsRightOuterJoin()
          指示 JoinRowSet 實作是否支持 RIGHT_OUTER_JOIN。
 CachedRowSet toCachedRowSet()
          創建一個套件含此 JoinRowSet 物件中資料的新 CachedRowSet 物件,可以使用 CachedRowSet 物件的 SyncProvider 物件將此 JoinRowSet 物件保存到資料源。
 
從介面 javax.sql.rowset.WebRowSet 繼承的方法
readXml, readXml, writeXml, writeXml, writeXml, writeXml
 
從介面 javax.sql.rowset.CachedRowSet 繼承的方法
acceptChanges, acceptChanges, columnUpdated, columnUpdated, commit, createCopy, createCopyNoConstraints, createCopySchema, createShared, execute, getKeyColumns, getOriginal, getOriginalRow, getPageSize, getRowSetWarnings, getShowDeleted, getSyncProvider, getTableName, nextPage, populate, populate, previousPage, release, restoreOriginal, rollback, rollback, rowSetPopulated, setKeyColumns, setMetaData, setOriginalRow, setPageSize, setShowDeleted, setSyncProvider, setTableName, size, toCollection, toCollection, toCollection, undoDelete, undoInsert, undoUpdate
 
從介面 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
 

欄位詳細資訊

CROSS_JOIN

static final int CROSS_JOIN
ANSI 樣式的 JOIN,提供兩個表的交叉乘積。

另請參見:
常數欄位值

INNER_JOIN

static final int INNER_JOIN
ANSI 樣式的 JOIN,提供兩個表之間的內聯合 (inner join)。任一聯合表中的所有不比對列都應被丟棄。

另請參見:
常數欄位值

LEFT_OUTER_JOIN

static final int LEFT_OUTER_JOIN
ANSI 樣式的 JOIN,提供兩個表之間的左外聯合 (left outer join)。在 SQL 中,這可描述為應該從 JOIN 語句左側表中返回所有記錄的情況。

另請參見:
常數欄位值

RIGHT_OUTER_JOIN

static final int RIGHT_OUTER_JOIN
ANSI 樣式的 JOIN,提供兩個表之間的右外聯合 (right outer join)。在 SQL 中,這可描述為即使左側的表沒有比對記錄的情況下也應該從 JOIN 語句右側表中返回所有記錄的情況。

另請參見:
常數欄位值

FULL_JOIN

static final int FULL_JOIN
ANSI 樣式的 JOIN,提供一個完全 JOIN。指定不管在另一個表上是否有比對的記錄,都會返回任一表中的所有行。

另請參見:
常數欄位值
方法詳細資訊

addRowSet

void addRowSet(Joinable rowset)
               throws SQLException
將給定的 RowSet 物件添加到此 JoinRowSet 物件。如果該 RowSet 物件是第一個添加到此 JoinRowSet 物件中的物件,則它形成要建立的 JOIN 關係的基礎。

僅在給定的 RowSet 物件已經具有使用 Joinable 方法 setMatchColumn 所設置的比對列時才應該使用此方法。

註:Joinable 是所有已經實作了 Joinable 介面的 RowSet 物件。

參數:
rowset - 要添加到此 JoinRowSet 物件的 RowSet 物件;它必須實作 Joinable 介面並且具有已設置的比對列
拋出:
SQLException - 如果 (1) 將空的 rowset 添加到此 JoinRowSet 物件,(2) 尚未設置 rowset 的比對列,或 (3) rowset 違反了活動狀態的 JOIN
另請參見:
Joinable.setMatchColumn(int)

addRowSet

void addRowSet(RowSet rowset,
               int columnIdx)
               throws SQLException
將給定的 RowSet 物件添加到此 JoinRowSet 物件,並將指定的列設置為 RowSet 物件的比對列。如果該 RowSet 物件是第一個添加到此 JoinRowSet 物件中的物件,則它形成要建立的 JOIN 關係的基礎。

當尚未設置 RowSet 的比對列時才應使用此方法。

參數:
rowset - 要添加到此 JoinRowSet 物件的 RowSet 物件;它可以實作 Joinable 介面
columnIdx - 一個 int 值,它標識要成為比對列的列
拋出:
SQLException - 如果 (1) rowset 是一個空 rowset 或 (2) rowset 違反了活動狀態的 JOIN
另請參見:
Joinable.unsetMatchColumn(int)

addRowSet

void addRowSet(RowSet rowset,
               String columnName)
               throws SQLException
rowset 添加到此 JoinRowSet 物件,並將指定的列設置為比對列。如果 rowset 是第一個添加到此 JoinRowSet 物件中的物件,則它形成要建立的 JOIN 關係的基礎。

當給定的 RowSet 物件還沒有比對列時應該使用此方法。

參數:
rowset - 要添加到此 JoinRowSet 物件的 RowSet 物件;它可以實作 Joinable 介面
columnName - String 物件,它提供要設置為比對列的列名
拋出:
SQLException - 如果 (1) rowset 是一個空 rowset 或 (2) rowset 的比對列不滿足 JOIN 的條件

addRowSet

void addRowSet(RowSet[] rowset,
               int[] columnIdx)
               throws SQLException
將給定 RowSet 物件陣列中包含的一個或多個 RowSet 物件添加到此 JoinRowSet 物件,並且將每個 RowSet 物件的比對列設置為給定列索引陣列中的比對列。將 columnIdx 中的第一個元素設置為 rowset 中第一個 RowSet 物件的比對列,將 columnIdx 中的第二個元素設置為 rowset 中第二個元素的比對列,依此類別推。

添加到此 JoinRowSet 物件的第一個 RowSet 物件形成 JOIN 關係的基礎。

當給定的 RowSet 物件還沒有比對列時應該使用此方法。

參數:
rowset - 要添加到 JOIN 的一個或多個 RowSet 物件所組成的陣列;它可以實作 Joinable 介面
columnIdx - 一個 int 值陣列,指示要設置為 rowsetRowSet 物件的比對列的列索引
拋出:
SQLException - 如果 (1) 將空的 rowset 添加到此 JoinRowSet 物件,(2) 沒有設置 rowsetRowSet 物件的比對列,或 (3) 要添加的 RowSet 物件違反了活動狀態的 JOIN

addRowSet

void addRowSet(RowSet[] rowset,
               String[] columnName)
               throws SQLException
將給定 RowSet 物件陣列中包含的一個或多個 RowSet 物件添加到此 JoinRowSet 物件,並且將每個 RowSet 物件的比對列設置為給定列名陣列中的比對列。將 columnName 中的第一個元素設置為 rowset 中第一個 RowSet 物件的比對列,將 columnName 中的第二個元素設置為 rowset 中第二個元素的比對列,依此類別推。

添加到此 JoinRowSet 物件的第一個 RowSet 物件形成 JOIN 關係的基礎。

當給定的 RowSet 物件還沒有比對列時應該使用此方法。

參數:
rowset - 要添加到 JOIN 的一個或多個 RowSet 物件所組成的陣列;它可以實作 Joinable 介面
columnName - 一個 String 值陣列,指示要設置為 rowsetRowSet 物件的比對列的列名
拋出:
SQLException - 如果 (1) 將空的 rowset 添加到此 JoinRowSet 物件,(2) 沒有設置 rowsetRowSet 物件的比對列,或 (3) 要添加的 RowSet 物件違反了活動狀態的 JOIN

getRowSets

Collection<?> getRowSets()
                         throws SQLException
返回一個 Collection 物件,包含已經添加到此 JoinRowSet 物件的 RowSet 物件。此方法應該返回 JOIN 內包含的 'n' 個 RowSet 並維持此並集中出現的所有更新。

返回:
一個 Collection 物件,由添加到此 JoinRowSet 物件的 RowSet 物件組成
拋出:
SQLException - 如果產生要返回的 Collection 物件時發生錯誤

getRowSetNames

String[] getRowSetNames()
                        throws SQLException
返回一個 String 陣列,包含添加到此 JoinRowSet 物件的 RowSet 物件的名稱。

返回:
JoinRowSet 物件中的 RowSet 物件名所組成的 String 陣列
拋出:
SQLException - 如果獲取 RowSet 物件的名稱時發生錯誤
另請參見:
CachedRowSet.setTableName(java.lang.String)

toCachedRowSet

CachedRowSet toCachedRowSet()
                            throws SQLException
創建一個套件含此 JoinRowSet 物件中資料的新 CachedRowSet 物件,可以使用 CachedRowSet 物件的 SyncProvider 物件將此 JoinRowSet 物件保存到資料源。

如果對 JoinRowSet 進行了任何更新或修改,則該方法返回的 CachedRowSet 無法使其更改與資料源中的原始行和表保持一致。返回的 CachedRowSet 實例不應包含修改資料,並且應該清除其原始 SQL 語句的所有屬性。應用程序應該使用 RowSet.setCommand 方法重置 SQL 語句。

要允許更改與資料源中的原始表保持一致,應該使用 acceptChanges 方法並對 JoinRowSet 物件實例調用該方法。實作可以利用在其中追蹤的內部資料和更新來與 SyncProvider 進行交互,以保持所有更改不變。

返回:
包含 JoinRowSet 內容的 CachedRowSet
拋出:
SQLException - 如果組合 CachedRowSet 物件時發生錯誤
另請參見:
RowSet, CachedRowSet, SyncProvider

supportsCrossJoin

boolean supportsCrossJoin()
指示 JoinRowSet 實作是否支持 CROSS_JOIN。

返回:
如果支持 CROSS_JOIN,則返回 true;否則返回 false

supportsInnerJoin

boolean supportsInnerJoin()
指示 JoinRowSet 實作是否支持 INNER_JOIN。

返回:
如果支持 INNER_JOIN,則返回 true;否則返回 false

supportsLeftOuterJoin

boolean supportsLeftOuterJoin()
指示 JoinRowSet 實作是否支持 LEFT_OUTER_JOIN。

返回:
如果支持 LEFT_OUTER_JOIN,則返回 true;否則返回 false

supportsRightOuterJoin

boolean supportsRightOuterJoin()
指示 JoinRowSet 實作是否支持 RIGHT_OUTER_JOIN。

返回:
如果支持 RIGHT_OUTER_JOIN,則返回 true;否則返回 false

supportsFullJoin

boolean supportsFullJoin()
指示 JoinRowSet 實作是否支持 FULL_JOIN。

返回:
如果支持 FULL_JOIN,則返回 true;否則返回 false

setJoinType

void setJoinType(int joinType)
                 throws SQLException
允許應用程序調整在 JoinRowSet 物件實例包含的表上強制應用的 JOIN 型別。如果實作不支持給定的 JOIN 型別,則應拋出 SQLException。

參數:
joinType - SQL JOIN 的標準 JoinRowSet.XXX 靜態欄位定義,用來在運行過程中重新配置 JoinRowSet 實例。
拋出:
SQLException - 如果設置了不支持的 JOIN 型別
另請參見:
getJoinType()

getWhereClause

String getWhereClause()
                      throws SQLException
返回在 JoinRowSet 物件中使用的 WHERE 子句的類似 SQL 的描述。通過提供 JOIN 的 SQL 字元串描述或一個文本描述,一個實作可以描述 SQL JOIN 的 WHERE 子句,以協助應用程序使用 JoinRowSet

返回:
whereClause,JoinRowSet 實例中使用的邏輯 WHERE 子句的文本或 SQL 描述
拋出:
SQLException - 如果產生 WHERE 子句的表示形式時發生錯誤。

getJoinType

int getJoinType()
                throws SQLException
返回一個 int 值,它描述控制此 JoinRowSet 實例的已設置 SQL JOIN 型別。返回的型別是標準的 JoinRowSet 型別之一:CROSS_JOININNER_JOINLEFT_OUTER_JOINRIGHT_OUTER_JOINFULL_JOIN

返回:
joinType,SQL JOIN 的某個標準 JoinRowSet 靜態欄位定義。在沒有顯式設置型別時,將 JoinRowSet.INNER_JOIN 作為預設的 JOIN 型別返回。
拋出:
SQLException - 如果在確定該 JoinRowSet 實例支持的 SQL JOIN 型別時發生錯誤。
另請參見:
setJoinType(int)

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only