JavaTM 2 Platform
Standard Ed. 6

java.sql
介面 Connection

所有父級介面:
Wrapper

public interface Connection
extends Wrapper

與特定資料庫的連接(Session)。在連接上下文中執行 SQL 語句並返回結果。

Connection 物件的資料庫能夠提供描述其表、所支持的 SQL 語法、預儲程序、此連接功能等等的資訊。此資訊是使用 getMetaData 方法獲得的。

註:在配置 Connection 時,JDBC 應用程序應該使用適當的 Connection 方法,比如 setAutoCommitsetTransactionIsolation。在有可用的 JDBC 方法時,應用程序不能直接調用 SQL 命令更改連接的配置。預設情況下,Connection 物件處於自動提交網要下,這意味著它在執行每個語句後都會自動提交更改。如果禁用了自動提交網要,那麼要提交更改就必須顯式調用 commit 方法;否則無法保存資料庫更改。

使用 JDBC 2.1 核心 API 創建的新 Connection 物件有一個與之關聯的最初為空的型別映射。使用者可以為此型別映射中的 UDT 輸入一個自定義映射關係。在使用 ResultSet.getObject 方法從資料源中獲取 UDT 時,getObject 方法將檢查該連接的型別映射是否有對應該 UDT 的條目。如果有,那麼 getObject 方法將該 UDT 映射到所指示的類別。如果沒有條目,則使用標準映射關係映射該 UDT。

使用者可以創建一個新的型別映射,該映射是一個 java.util.Map 物件,可在其中創建一個條目,並將該條目傳遞給可以執行自定義映射關係的 java.sql 方法。在這種情況下,該方法將使用給定的型別映射,而不是與連接關聯的映射。

例如,以下程式碼片段指定 SQL 型別 ATHLETES 將被映射到 Java 程式語言中的 Athletes 類別。該程式碼片段為 Connection 物件 con 獲取型別映射,並在其中插入條目,然後使用新的條目將該型別映射設置為連接的型別映射。

      java.util.Map map = con.getTypeMap();
      map.put("mySchemaName.ATHLETES", Class.forName("Athletes"));
      con.setTypeMap(map);
 

另請參見:
DriverManager.getConnection(java.lang.String, java.util.Properties), Statement, ResultSet, DatabaseMetaData

欄位摘要
static int TRANSACTION_NONE
          指示事務不受支持的常數。
static int TRANSACTION_READ_COMMITTED
          指示不可以發生髒讀的常數;不可重複讀和虛讀可以發生。
static int TRANSACTION_READ_UNCOMMITTED
          指示可以發生髒讀 (dirty read)、不可重複讀和虛讀 (phantom read) 的常數。
static int TRANSACTION_REPEATABLE_READ
          指示不可以發生髒讀和不可重複讀的常數;虛讀可以發生。
static int TRANSACTION_SERIALIZABLE
          指示不可以發生髒讀、不可重複讀和虛讀的常數。
 
方法摘要
 void clearWarnings()
          清除為此 Connection 物件報告的所有警告。
 void close()
          立即釋放此 Connection 物件的資料庫和 JDBC 資源,而不是等待它們被自動釋放。
 void commit()
          使所有上一次提交/回滾後進行的更改成為持久更改,並釋放此 Connection 物件當前持有的所有資料庫鎖。
 Array createArrayOf(String typeName, Object[] elements)
          創建 Array 物件的處理器方法。
 Blob createBlob()
          建構實作 Blob 介面的物件。
 Clob createClob()
          建構實作 Clob 介面的物件。
 NClob createNClob()
          建構實作 NClob 介面的物件。
 SQLXML createSQLXML()
          建構實作 SQLXML 介面的物件。
 Statement createStatement()
          創建一個 Statement 物件來將 SQL 語句發送到資料庫。
 Statement createStatement(int resultSetType, int resultSetConcurrency)
          創建一個 Statement 物件,該物件將產生具有給定型別和共時性的 ResultSet 物件。
 Statement createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability)
          創建一個 Statement 物件,該物件將產生具有給定型別、共時性和可保存性的 ResultSet 物件。
 Struct createStruct(String typeName, Object[] attributes)
          創建 Struct 物件的處理器方法。
 boolean getAutoCommit()
          獲取此 Connection 物件的當前自動提交網要。
 String getCatalog()
          獲取此 Connection 物件的當前目錄名稱。
 Properties getClientInfo()
          返回一個列表,它包含驅動程序支持的每個客戶端資訊屬性的名稱和當前值。
 String getClientInfo(String name)
          返回通過名稱指定的客戶端資訊屬性的值。
 int getHoldability()
          獲取使用此 Connection 物件創建的 ResultSet 物件的當前可保存性。
 DatabaseMetaData getMetaData()
          獲取一個 DatabaseMetaData 物件,該物件包含關於此 Connection 物件所連接的資料庫的元資料。
 int getTransactionIsolation()
          獲取此 Connection 物件的當前事務隔離級別。
 Map<String,Class<?>> getTypeMap()
          獲取與此 Connection 物件關聯的 Map 物件。
 SQLWarning getWarnings()
          獲取此 Connection 物件上的調用報告的第一個警告。
 boolean isClosed()
          查詢此 Connection 物件是否已經被關閉。
 boolean isReadOnly()
          查詢此 Connection 物件是否處於只讀網要。
 boolean isValid(int timeout)
          如果連接尚未關閉並且仍然有效,則返回 true。
 String nativeSQL(String sql)
          將給定的 SQL 語句轉換成系統本機 SQL 語法。
 CallableStatement prepareCall(String sql)
          創建一個 CallableStatement 物件來調用資料庫預儲程序。
 CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency)
          創建一個 CallableStatement 物件,該物件將產生具有給定型別和共時性的 ResultSet 物件。
 CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability)
          創建一個 CallableStatement 物件,該物件將產生具有給定型別和共時性的 ResultSet 物件。
 PreparedStatement prepareStatement(String sql)
          創建一個 PreparedStatement 物件來將參數化的 SQL 語句發送到資料庫。
 PreparedStatement prepareStatement(String sql, int autoGeneratedKeys)
          創建一個預設 PreparedStatement 物件,該物件能獲取自動產生的鍵。
 PreparedStatement prepareStatement(String sql, int[] columnIndexes)
          創建一個能返回由給定陣列指定的自動產生鍵的預設 PreparedStatement 物件。
 PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency)
          創建一個 PreparedStatement 物件,該物件將產生具有給定型別和共時性的 ResultSet 物件。
 PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability)
          創建一個 PreparedStatement 物件,該物件將產生具有給定型別、共時性和可保存性的 ResultSet 物件。
 PreparedStatement prepareStatement(String sql, String[] columnNames)
          創建一個能返回由給定陣列指定的自動產生鍵的預設 PreparedStatement 物件。
 void releaseSavepoint(Savepoint savepoint)
          從當前事務中移除指定的 Savepoint 和後續 Savepoint 物件。
 void rollback()
          取消在當前事務中進行的所有更改,並釋放此 Connection 物件當前持有的所有資料庫鎖。
 void rollback(Savepoint savepoint)
          取消所有設置給定 Savepoint 物件之後進行的更改。
 void setAutoCommit(boolean autoCommit)
          將此連接的自動提交網要設置為給定狀態。
 void setCatalog(String catalog)
          設置給定目錄名稱,以便選擇要在其中進行工作的此 Connection 物件資料庫的子空間。
 void setClientInfo(Properties properties)
          設置連接的客戶端資訊屬性的值。
 void setClientInfo(String name, String value)
          將 name 指定的客戶端資訊屬性的值設置為 value 指定的值。
 void setHoldability(int holdability)
          將使用此 Connection 物件創建的 ResultSet 物件的預設可保存性 (holdability) 更改為給定可保存性。
 void setReadOnly(boolean readOnly)
          將此連接設置為只讀網要,作為驅動程序啟用資料庫優化的提示。
 Savepoint setSavepoint()
          在當前事務中創建一個未命名的保存點 (savepoint),並返回表示它的新 Savepoint 物件。
 Savepoint setSavepoint(String name)
          在當前事務中創建一個具有給定名稱的保存點,並返回表示它的新 Savepoint 物件。
 void setTransactionIsolation(int level)
          試圖將此 Connection 物件的事務隔離級別更改為給定的級別。
 void setTypeMap(Map<String,Class<?>> map)
          將給定的 TypeMap 物件安裝為此 Connection 物件的型別映射。
 
從介面 java.sql.Wrapper 繼承的方法
isWrapperFor, unwrap
 

欄位詳細資訊

TRANSACTION_NONE

static final int TRANSACTION_NONE
指示事務不受支持的常數。

另請參見:
常數欄位值

TRANSACTION_READ_UNCOMMITTED

static final int TRANSACTION_READ_UNCOMMITTED
指示可以發生髒讀 (dirty read)、不可重複讀和虛讀 (phantom read) 的常數。此級別允許被某一事務更改的行在已提交該行所有更改之前被另一個事務讀取(“髒讀”)。如果所有更改都被回滾,則第二個事務將獲取無效的行。

另請參見:
常數欄位值

TRANSACTION_READ_COMMITTED

static final int TRANSACTION_READ_COMMITTED
指示不可以發生髒讀的常數;不可重複讀和虛讀可以發生。此級別只禁止事務讀取其中帶有未提交更改的行。

另請參見:
常數欄位值

TRANSACTION_REPEATABLE_READ

static final int TRANSACTION_REPEATABLE_READ
指示不可以發生髒讀和不可重複讀的常數;虛讀可以發生。此級別禁止事務讀取帶有未提交更改的行,它還禁止這種情況:一個事務讀取某一行,而另一個事務更改該行,第一個事務重新讀取該行,並在第二次讀取時獲得不同的值(“不可重複讀”)。

另請參見:
常數欄位值

TRANSACTION_SERIALIZABLE

static final int TRANSACTION_SERIALIZABLE
指示不可以發生髒讀、不可重複讀和虛讀的常數。此級別包括 TRANSACTION_REPEATABLE_READ 中禁止的事項,同時還禁止出現這種情況:某一事務讀取所有滿足 WHERE 條件的行,另一個事務插入一個滿足 WHERE 條件的行,第一個事務重新讀取滿足相同條件的行,並在第二次讀取時獲得額外的“虛”行。

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

createStatement

Statement createStatement()
                          throws SQLException
創建一個 Statement 物件來將 SQL 語句發送到資料庫。不帶參數的 SQL 語句通常使用 Statement 物件執行。如果多次執行相同的 SQL 語句,使用 PreparedStatement 物件可能更有效。

使用返回的 Statement 物件創建的結果集在預設情況下型別為 TYPE_FORWARD_ONLY,並帶有 CONCUR_READ_ONLY 共時級別。已創建結果集的可保存性可調用 getHoldability() 確定。

返回:
一個新的預設 Statement 物件
拋出:
SQLException - 如果發生資料庫存取錯誤,或者在關閉的連接上調用此方法

prepareStatement

PreparedStatement prepareStatement(String sql)
                                   throws SQLException
創建一個 PreparedStatement 物件來將參數化的 SQL 語句發送到資料庫。

帶有 IN 參數或不帶有 IN 參數的 SQL 語句都可以被預先編譯並存儲在 PreparedStatement 物件中。然後可以有效地使用此物件來多次執行該語句。

註:為了處理受益於預先編譯的帶參數 SQL 語句,此方法進行了優化。如果驅動程序支持預先編譯,則 prepareStatement 方法將該語句發送給資料庫進行預先編譯。一些驅動程序可能不支持預先編譯。在這種情況下,執行 PreparedStatement 物件之前無法將語句發送給資料庫。這對使用者沒有直接影響;但它的確會影響哪些方法將拋出某些 SQLException 物件。

使用返回的 PreparedStatement 物件創建的結果集在預設情況下型別為 TYPE_FORWARD_ONLY,並帶有 CONCUR_READ_ONLY 共時級別。已創建結果集的可保存性可調用 getHoldability() 確定。

參數:
sql - 可能包含一個或多個 '?' IN 參數佔位符的 SQL 語句
返回:
包含預先編譯 SQL 語句的新的預設 PreparedStatement 物件
拋出:
SQLException - 如果發生資料庫存取錯誤,或者在關閉的連接上調用此方法

prepareCall

CallableStatement prepareCall(String sql)
                              throws SQLException
創建一個 CallableStatement 物件來調用資料庫預儲程序。CallableStatement 物件提供了設置其 IN 和 OUT 參數的方法,以及用來執行調用預儲程序的方法。

註:為了處理預儲程序調用語句,此方法進行了優化。某些驅動程序可以在調用 prepareCall 方法後將調用語句發送給資料庫;另一些則直到執行了 CallableStatement 物件後才可以發送。這對使用者沒有直接影響;但它的確會影響哪些方法將拋出某些 SQLException。

使用返回的 CallableStatement 物件創建的結果集在預設情況下型別為 TYPE_FORWARD_ONLY,並帶有 CONCUR_READ_ONLY 共時級別。已創建結果集的可保存性可調用 getHoldability() 確定。

參數:
sql - 可以包含一個或多個 '?' 參數佔位符的 SQL 語句。通常此語句是使用 JDBC 調用轉義語法指定的。
返回:
包含預先編譯 SQL 語句的新的預設 CallableStatement 物件
拋出:
SQLException - 如果發生資料庫存取錯誤,或者在關閉的連接上調用此方法

nativeSQL

String nativeSQL(String sql)
                 throws SQLException
將給定的 SQL 語句轉換成系統本機 SQL 語法。在發送 JDBC SQL 語法之前,驅動程序可以將其轉換成其系統本機 SQL 語法。此方法返回驅動程序將發送的語句的本機形式。

參數:
sql - 可以包含一個或多個 '?' 參數佔位符的 SQL 語句
返回:
此語句的本機形式
拋出:
SQLException - 如果發生資料庫存取錯誤,或者在關閉的連接上調用此方法

setAutoCommit

void setAutoCommit(boolean autoCommit)
                   throws SQLException
將此連接的自動提交網要設置為給定狀態。如果連接處於自動提交網要下,則它的所有 SQL 語句將被執行並作為單個事務提交。否則,它的 SQL 語句將聚集到事務中,直到調用 commit 方法或 rollback 方法為止。預設情況下,新連接處於自動提交網要。

提交發生在語句完成時。語句完成的時間取決於 SQL 語句的型別:

註:如果在事務和自動提交網要更改期間調用此方法,則提交該事務。如果調用 setAutoCommit 而自動提交網要未更改,則該調用無操作(no-op)。

參數:
autoCommit - 為 true 表示啟用自動提交網要;為 false 表示禁用自動提交網要
拋出:
SQLException - 如果發生資料庫存取錯誤,在參與分佈式事務的同時調用 setAutoCommit(true),或者在關閉的連接上調用此方法
另請參見:
getAutoCommit()

getAutoCommit

boolean getAutoCommit()
                      throws SQLException
獲取此 Connection 物件的當前自動提交網要。

返回:
Connection 物件的自動提交網要的當前狀態
拋出:
SQLException - 如果發生資料庫存取錯誤,或者在關閉的連接上調用此方法
另請參見:
getAutoCommit(), setAutoCommit(boolean)

commit

void commit()
            throws SQLException
使所有上一次提交/回滾後進行的更改成為持久更改,並釋放此 Connection 物件當前持有的所有資料庫鎖。此方法只應該在已禁用自動提交網要時使用。

拋出:
SQLException - 如果發生資料庫存取錯誤,在參與分佈式事務的同時調用此方法,在關閉的連接上調用此方法,或者此 Connection 物件處於自動提交網要
另請參見:
setAutoCommit(boolean)

rollback

void rollback()
              throws SQLException
取消在當前事務中進行的所有更改,並釋放此 Connection 物件當前持有的所有資料庫鎖。此方法只應該在已禁用自動提交網要時使用。

拋出:
SQLException - 如果發生資料庫存取錯誤,在參與分佈式事務的同時調用此方法,在關閉的連接上調用此方法,或者此 Connection 物件處於自動提交網要
另請參見:
setAutoCommit(boolean)

close

void close()
           throws SQLException
立即釋放此 Connection 物件的資料庫和 JDBC 資源,而不是等待它們被自動釋放。

在已經關閉的 Connection 物件上調用 close 方法無操作 (no-op)。

建議最好在調用 close 方法之前,應用程序顯式提交或回滾一個活動事務。如果調用 close 方法並且有一個活動事務,那麼結果將由實作定義。

拋出:
SQLException - 如果發生資料庫存取錯誤

isClosed

boolean isClosed()
                 throws SQLException
查詢此 Connection 物件是否已經被關閉。如果在連接上調用了 close 方法或者發生某些嚴重的錯誤,則連接被關閉。只有在調用了 Connection.close 方法之後被調用時,此方法才保證返回 true

通常不能調用此方法確定到資料庫的連接是有效的還是無效的。通過捕獲在試圖進行某一操作時可能拋出的異常,典型的客戶端可以確定某一連接是無效的。

返回:
如果此 Connection 物件是關閉的,則返回 true;如果它仍然處於打開狀態,則返回 false
拋出:
SQLException - 如果發生資料庫存取錯誤

getMetaData

DatabaseMetaData getMetaData()
                             throws SQLException
獲取一個 DatabaseMetaData 物件,該物件包含關於此 Connection 物件所連接的資料庫的元資料。元資料封包括關於資料庫的表、受支持的 SQL 語法、預儲程序、此連接功能等等的資訊。

返回:
Connection 物件的一個 DatabaseMetaData 物件
拋出:
SQLException - 如果發生資料庫存取錯誤,或者在關閉的連接上調用此方法

setReadOnly

void setReadOnly(boolean readOnly)
                 throws SQLException
將此連接設置為只讀網要,作為驅動程序啟用資料庫優化的提示。

註:此方法不能在事務處理期間調用。

參數:
readOnly - 為 true 表示啟用只讀網要;為 false 表示禁用只讀網要
拋出:
SQLException - 如果發生資料庫存取錯誤,在關閉的連接上調用此方法,或者在事務處理期間調用此方法

isReadOnly

boolean isReadOnly()
                   throws SQLException
查詢此 Connection 物件是否處於只讀網要。

返回:
如果此 Connection 物件是只讀的,則返回 true;否則返回 false
拋出:
SQLException - 如果發生資料庫存取錯誤,或者在關閉的連接上調用此方法

setCatalog

void setCatalog(String catalog)
                throws SQLException
設置給定目錄名稱,以便選擇要在其中進行工作的此 Connection 物件資料庫的子空間。

如果驅動程序不支持這些目錄,那麼它將直接忽略此請求。

參數:
catalog - 在其中進行工作的目錄(此 Connection 物件的資料庫的子空間)的名稱
拋出:
SQLException - 如果發生資料庫存取錯誤,或者在關閉的連接上調用此方法
另請參見:
getCatalog()

getCatalog

String getCatalog()
                  throws SQLException
獲取此 Connection 物件的當前目錄名稱。

返回:
當前目錄名稱;如果不存在,則返回 null
拋出:
SQLException - 如果發生資料庫存取錯誤,或者在關閉的連接上調用此方法
另請參見:
setCatalog(java.lang.String)

setTransactionIsolation

void setTransactionIsolation(int level)
                             throws SQLException
試圖將此 Connection 物件的事務隔離級別更改為給定的級別。可能的事務隔離級別是 Connection 介面中定義的常數。

註:如果在事務處理期間調用此方法,則結果由實作定義。

參數:
level - 以下 Connection 常數之一:Connection.TRANSACTION_READ_UNCOMMITTEDConnection.TRANSACTION_READ_COMMITTEDConnection.TRANSACTION_REPEATABLE_READConnection.TRANSACTION_SERIALIZABLE。(注意,不能使用 Connection.TRANSACTION_NONE,因為它指定了不受支持的事務。)
拋出:
SQLException - 如果發生資料庫存取錯誤,在關閉的連接上調用此方法,或者給定參數不是 Connection 常數之一
另請參見:
DatabaseMetaData.supportsTransactionIsolationLevel(int), getTransactionIsolation()

getTransactionIsolation

int getTransactionIsolation()
                            throws SQLException
獲取此 Connection 物件的當前事務隔離級別。

返回:
當前事務隔離級別,它將是以下常數之一:Connection.TRANSACTION_READ_UNCOMMITTEDConnection.TRANSACTION_READ_COMMITTEDConnection.TRANSACTION_REPEATABLE_READConnection.TRANSACTION_SERIALIZABLEConnection.TRANSACTION_NONE
拋出:
SQLException - 如果發生資料庫存取錯誤,或者在關閉的連接上調用此方法
另請參見:
setTransactionIsolation(int)

getWarnings

SQLWarning getWarnings()
                       throws SQLException
獲取此 Connection 物件上的調用報告的第一個警告。如果有多個警告,則後續警告將被連接到第一個警告,可以通過對之前獲得的警告調用 SQLWarning.getNextWarning 方法獲取。

不可以在關閉的連接上調用此方法,這樣做將導致拋出 SQLException

註:後續警告將被連接到此 SQLWarning。

返回:
第一個 SQLWarning 物件;如果不存在,則返回 null
拋出:
SQLException - 如果發生資料庫存取錯誤,或者在關閉的連接上調用此方法
另請參見:
SQLWarning

clearWarnings

void clearWarnings()
                   throws SQLException
清除為此 Connection 物件報告的所有警告。調用此方法後,在為此 Connection 物件報告新的警告前,getWarnings 方法將返回 null

拋出:
SQLException - 如果發生資料庫存取錯誤,或者在關閉的連接上調用此方法

createStatement

Statement createStatement(int resultSetType,
                          int resultSetConcurrency)
                          throws SQLException
創建一個 Statement 物件,該物件將產生具有給定型別和共時性的 ResultSet 物件。此方法與上述 createStatement 方法相同,但它允許覆寫預設結果集型別和共時性。已創建結果集的可保存性可調用 getHoldability() 確定。

參數:
resultSetType - 結果集型別,它是 ResultSet.TYPE_FORWARD_ONLYResultSet.TYPE_SCROLL_INSENSITIVEResultSet.TYPE_SCROLL_SENSITIVE 之一
resultSetConcurrency - 共時型別;它是 ResultSet.CONCUR_READ_ONLYResultSet.CONCUR_UPDATABLE 之一
返回:
一個新的 Statement 物件,該物件將產生具有給定型別和共時性的 ResultSet 物件
拋出:
SQLException - 如果發生資料庫存取錯誤,在關閉的連接上調用此方法,或者給定參數不是指示型別和共時性的 ResultSet 常數
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此方法,或者對於指定的結果集型別和結果集共時性,此方法不受支持。
從以下版本開始:
1.2

prepareStatement

PreparedStatement prepareStatement(String sql,
                                   int resultSetType,
                                   int resultSetConcurrency)
                                   throws SQLException
創建一個 PreparedStatement 物件,該物件將產生具有給定型別和共時性的 ResultSet 物件。此方法與上述 prepareStatement 方法相同,但它允許覆寫預設結果集型別和共時性。已創建結果集的可保存性可調用 getHoldability() 確定。

參數:
sql - 一個 String 物件,它是將被發送到資料庫的 SQL 語句,可以包含一個或多個 '?' IN 參數
resultSetType - 結果集型別,它是 ResultSet.TYPE_FORWARD_ONLYResultSet.TYPE_SCROLL_INSENSITIVEResultSet.TYPE_SCROLL_SENSITIVE 之一
resultSetConcurrency - 共時型別,它是 ResultSet.CONCUR_READ_ONLYResultSet.CONCUR_UPDATABLE 之一
返回:
包含預先編譯的 SQL 語句的新 PreparedStatement 物件,該物件將產生具有給定型別和共時性的 ResultSet 物件
拋出:
SQLException - 如果發生資料庫存取錯誤,在關閉的連接上調用此方法,或者給定參數不是指示型別和共時性的 ResultSet 常數
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此方法,或者對於指定的結果集型別和結果集共時性此方法不受支持。
從以下版本開始:
1.2

prepareCall

CallableStatement prepareCall(String sql,
                              int resultSetType,
                              int resultSetConcurrency)
                              throws SQLException
創建一個 CallableStatement 物件,該物件將產生具有給定型別和共時性的 ResultSet 物件。此方法與上述 prepareCall 方法相同,但它允許覆寫預設結果集型別和共時性。已創建結果集的可保存性可調用 getHoldability() 確定。

參數:
sql - 一個 String 物件,它是將被發送給資料庫的 SQL 語句,可以包含一個或多個 '?' 參數
resultSetType - 結果集型別,它是 ResultSet.TYPE_FORWARD_ONLYResultSet.TYPE_SCROLL_INSENSITIVEResultSet.TYPE_SCROLL_SENSITIVE 之一
resultSetConcurrency - 共時型別,它是 ResultSet.CONCUR_READ_ONLYResultSet.CONCUR_UPDATABLE 之一
返回:
一個套件含預先編譯的 SQL 語句的新 CallableStatement 物件,該物件將產生具有給定型別和共時性的 ResultSet 物件
拋出:
SQLException - 如果發生資料庫存取錯誤,在關閉的連接上調用此方法,或者給定參數不是指示型別和共時性的 ResultSet 常數
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此方法,或者或者對於指定的結果集型別和結果集共時性此方法不受支持。
從以下版本開始:
1.2

getTypeMap

Map<String,Class<?>> getTypeMap()
                                throws SQLException
獲取與此 Connection 物件關聯的 Map 物件。除非應用程序已經添加了一個條目,否則返回的型別映射將為空。

返回:
與此 Connection 物件關聯的 java.util.Map 物件
拋出:
SQLException - 如果發生資料庫存取錯誤,或者在關閉的連接上調用此方法
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此方法
從以下版本開始:
1.2
另請參見:
setTypeMap(java.util.Map>)

setTypeMap

void setTypeMap(Map<String,Class<?>> map)
                throws SQLException
將給定的 TypeMap 物件安裝為此 Connection 物件的型別映射。該映射將用於 SQL 結構型別和獨特型別的自定義映射。

參數:
map - 將作為此 Connection 物件預設型別映射的替代安裝的 java.util.Map 物件
拋出:
SQLException - 如果發生資料庫存取錯誤,在關閉的連接上調用此方法,或者給定參數不是 java.util.Map 物件
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此方法
從以下版本開始:
1.2
另請參見:
getTypeMap()

setHoldability

void setHoldability(int holdability)
                    throws SQLException
將使用此 Connection 物件創建的 ResultSet 物件的預設可保存性 (holdability) 更改為給定可保存性。ResultSet 物件的預設可保存性可調用 DatabaseMetaData.getResultSetHoldability() 確定。

參數:
holdability - ResultSet 的可保存性常數,它是 ResultSet.HOLD_CURSORS_OVER_COMMITResultSet.CLOSE_CURSORS_AT_COMMIT 之一
拋出:
SQLException - 如果發生資料庫存取錯誤,在關閉的連接上調用此方法,或者給定參數不是指示可保存性的 ResultSet 常數
SQLFeatureNotSupportedException - 如果給定可保存性不受支持
從以下版本開始:
1.4
另請參見:
getHoldability(), DatabaseMetaData.getResultSetHoldability(), ResultSet

getHoldability

int getHoldability()
                   throws SQLException
獲取使用此 Connection 物件創建的 ResultSet 物件的當前可保存性。

返回:
可保存性,它是 ResultSet.HOLD_CURSORS_OVER_COMMITResultSet.CLOSE_CURSORS_AT_COMMIT 之一
拋出:
SQLException - 如果發生資料庫存取錯誤,或者在關閉的連接上調用此方法
從以下版本開始:
1.4
另請參見:
setHoldability(int), DatabaseMetaData.getResultSetHoldability(), ResultSet

setSavepoint

Savepoint setSavepoint()
                       throws SQLException
在當前事務中創建一個未命名的保存點 (savepoint),並返回表示它的新 Savepoint 物件。

如果在活動事務範圍之外調用 setSavepoint,則將在新創建的保存點上啟動事務。

返回:
新的 Savepoint 物件
拋出:
SQLException - 如果發生資料庫存取錯誤,在參與分佈式事務的同時調用此方法,在關閉的連接上調用此方法,或者此 Connection 物件當前處於自動提交網要
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此方法
從以下版本開始:
1.4
另請參見:
Savepoint

setSavepoint

Savepoint setSavepoint(String name)
                       throws SQLException
在當前事務中創建一個具有給定名稱的保存點,並返回表示它的新 Savepoint 物件。

如果在活動事務範圍之外調用 setSavepoint,則將在新創建的保存點上啟動事務。

參數:
name - 套件含保存點名稱的 String
返回:
新的 Savepoint 物件
拋出:
SQLException - 如果發生資料庫存取錯誤,在參與分佈式事務的同時調用此方法,在關閉的連接上調用此方法,或者此 Connection 物件當前處於自動提交網要下
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此方法
從以下版本開始:
1.4
另請參見:
Savepoint

rollback

void rollback(Savepoint savepoint)
              throws SQLException
取消所有設置給定 Savepoint 物件之後進行的更改。

此方法只應該在已禁用自動提交時使用。

參數:
savepoint - 要回滾到的 Savepoint 物件
拋出:
SQLException - 如果發生資料庫存取錯誤,在參與分佈式事務的同時調用此方法,在關閉的連接上調用此方法,Savepoint 物件不再有效,或者此 Connection 物件當前處於自動提交網要
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此方法
從以下版本開始:
1.4
另請參見:
Savepoint, rollback()

releaseSavepoint

void releaseSavepoint(Savepoint savepoint)
                      throws SQLException
從當前事務中移除指定的 Savepoint 和後續 Savepoint 物件。在已移除保存點之後,對該保存點的任何參考都會導致拋出 SQLException

參數:
savepoint - 將移除的 Savepoint 物件
拋出:
SQLException - 如果發生資料庫存取錯誤,在關閉的連接上調用此方法,或者給定 Savepoint 物件在當前事務中不是一個有效的保存點
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此方法
從以下版本開始:
1.4

createStatement

Statement createStatement(int resultSetType,
                          int resultSetConcurrency,
                          int resultSetHoldability)
                          throws SQLException
創建一個 Statement 物件,該物件將產生具有給定型別、共時性和可保存性的 ResultSet 物件。此方法與上述 createStatement 方法相同,但它允許覆寫預設結果集型別、共時性和可保存性。

參數:
resultSetType - 以下 ResultSet 常數之一:ResultSet.TYPE_FORWARD_ONLYResultSet.TYPE_SCROLL_INSENSITIVEResultSet.TYPE_SCROLL_SENSITIVE
resultSetConcurrency - 以下 ResultSet 常數之一:ResultSet.CONCUR_READ_ONLYResultSet.CONCUR_UPDATABLE
resultSetHoldability - 以下 ResultSet 常數之一:ResultSet.HOLD_CURSORS_OVER_COMMITResultSet.CLOSE_CURSORS_AT_COMMIT
返回:
一個新的 Statement 物件,該物件將產生具有給定型別、共時性和可保存性的 ResultSet 物件
拋出:
SQLException - 如果發生資料庫存取錯誤,在關閉的連接上調用此方法,或者給定參數不是指定型別、共時性和可保存性的 ResultSet 常數
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此方法,或者對於指定結果集型別、結果集可保存性和結果集共時性,此方法不受支持。
從以下版本開始:
1.4
另請參見:
ResultSet

prepareStatement

PreparedStatement prepareStatement(String sql,
                                   int resultSetType,
                                   int resultSetConcurrency,
                                   int resultSetHoldability)
                                   throws SQLException
創建一個 PreparedStatement 物件,該物件將產生具有給定型別、共時性和可保存性的 ResultSet 物件。

此方法與上述 prepareStatement 方法相同,但它允許覆寫預設結果集型別、共時性和可保存性。

參數:
sql - 一個 String 物件,它是將被發送到資料庫的 SQL 語句,可以包含一個或多個 '?' IN 參數
resultSetType - 以下 ResultSet 常數之一:ResultSet.TYPE_FORWARD_ONLYResultSet.TYPE_SCROLL_INSENSITIVEResultSet.TYPE_SCROLL_SENSITIVE
resultSetConcurrency - 以下 ResultSet 常數之一:ResultSet.CONCUR_READ_ONLYResultSet.CONCUR_UPDATABLE
resultSetHoldability - 以下 ResultSet 常數之一:ResultSet.HOLD_CURSORS_OVER_COMMITResultSet.CLOSE_CURSORS_AT_COMMIT
返回:
一個套件含預先編譯 SQL 語句的新 PreparedStatement 物件,該物件將產生具有給定型別、共時性和可保存性的 ResultSet 物件
拋出:
SQLException - 如果發生資料庫存取錯誤,在關閉的連接上調用此方法,或者給定參數不是指示型別、共時性和可保存性的 ResultSet 常數
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此方法,或者對於指定結果集型別、結果集可保存性和結果集共時性,此方法不受支持。
從以下版本開始:
1.4
另請參見:
ResultSet

prepareCall

CallableStatement prepareCall(String sql,
                              int resultSetType,
                              int resultSetConcurrency,
                              int resultSetHoldability)
                              throws SQLException
創建一個 CallableStatement 物件,該物件將產生具有給定型別和共時性的 ResultSet 物件。此方法與上述 prepareCall 方法相同,但它允許覆寫預設結果集型別、結果集共時性型別和可保存性。

參數:
sql - 一個 String 物件,它是將被發送到資料庫的 SQL 語句,可以包含一個或多個 '?' 參數
resultSetType - 以下 ResultSet 常數之一:ResultSet.TYPE_FORWARD_ONLYResultSet.TYPE_SCROLL_INSENSITIVEResultSet.TYPE_SCROLL_SENSITIVE
resultSetConcurrency - 以下 ResultSet 常數之一:ResultSet.CONCUR_READ_ONLYResultSet.CONCUR_UPDATABLE
resultSetHoldability - 以下 ResultSet 常數之一:ResultSet.HOLD_CURSORS_OVER_COMMITResultSet.CLOSE_CURSORS_AT_COMMIT
返回:
一個套件含預先編譯 SQL 語句的新 CallableStatement 物件,該物件將產生具有給定型別、共時性和可保存性的 ResultSet 物件
拋出:
SQLException - 如果發生資料庫存取錯誤,在關閉的連接上調用此方法,或者給定參數不是指示型別、共時性和可保存性的 ResultSet 常數
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此方法,或者對於指定結果集型別、結果集可保存性和結果集共時性,此方法不受支持。
從以下版本開始:
1.4
另請參見:
ResultSet

prepareStatement

PreparedStatement prepareStatement(String sql,
                                   int autoGeneratedKeys)
                                   throws SQLException
創建一個預設 PreparedStatement 物件,該物件能獲取自動產生的鍵。給定常數告知驅動程序是否可以獲取自動產生的鍵。如果 SQL 語句不是一條 INSERT 語句,或者 SQL 語句能夠返回自動產生的鍵(這類別語句的列表是特定於供應商的),則忽略此參數。

註:為了處理受益於預先編譯的帶參數 SQL 語句,此方法進行了優化。如果驅動程序支持預先編譯,則 prepareStatement 方法將該語句發送給資料庫進行預先編譯。一些驅動程序可能不支持預先編譯。在這種情況下,執行 PreparedStatement 物件之前無法將語句發送給資料庫。這對使用者沒有直接影響;但它的確會影響哪些方法將拋出某些 SQLException。

使用返回的 PreparedStatement 物件創建的結果集在預設情況下型別為 TYPE_FORWARD_ONLY,並帶有 CONCUR_READ_ONLY 共時級別。已創建結果集的可保存性可調用 getHoldability() 確定。

參數:
sql - 可能包含一個或多個 '?' IN 參數佔位符的 SQL 語句
autoGeneratedKeys - 指示是否應該返回自動產生的鍵的標誌,它是 Statement.RETURN_GENERATED_KEYSStatement.NO_GENERATED_KEYS 之一
返回:
一個套件含預先編譯 SQL 語句的新 PreparedStatement 物件,該物件能夠返回自動產生的鍵
拋出:
SQLException - 如果發生資料庫存取錯誤,在關閉的連接上調用此方法,或者給定參數不是指示是否應該返回自動產生鍵的 Statement 常數
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持帶有 Statement.RETURN_GENERATED_KEYS 常數的此方法
從以下版本開始:
1.4

prepareStatement

PreparedStatement prepareStatement(String sql,
                                   int[] columnIndexes)
                                   throws SQLException
創建一個能返回由給定陣列指定的自動產生鍵的預設 PreparedStatement 物件。此陣列包含目標表中列的索引,而目標表包含應該可返回的自動產生的鍵。如果 SQL 語句不是 INSERT 語句,或者 SQL 語言能夠返回自動產生的鍵(這類別語句的列表是特定於供應商的),則驅動程序將忽略該陣列。

帶 IN 參數或不帶 IN 參數的 SQL 語句都可以被預編輯並存儲在 PreparedStatement 物件中。然後可以使用此物件多次有效地執行該語句。

註:為了處理受益於預先編譯的帶參數 SQL 語句,此方法進行了優化。如果驅動程序支持預先編譯,則 prepareStatement 方法將該語句發送給資料庫進行預先編譯。一些驅動程序可能不支持預先編譯。在這種情況下,執行 PreparedStatement 物件之前無法將語句發送給資料庫。這對使用者沒有直接影響;但它的確會影響哪些方法將拋出某些 SQLException。

使用返回的 PreparedStatement 物件創建的結果集在預設情況下型別為 TYPE_FORWARD_ONLY,並帶有 CONCUR_READ_ONLY 共時級別。已創建結果集的可保存性可調用 getHoldability() 確定。

參數:
sql - 可能包含一個或多個 '?' IN 參數佔位符的 SQL 語句
columnIndexes - 列索引陣列,這些索引指示應該從一個或多個插入行中返回的那些列
返回:
一個套件含預先編譯語句的新 PreparedStatement 物件,該物件能夠返回由給定列索引陣列指定的自動產生鍵
拋出:
SQLException - 如果發生資料庫存取錯誤,或者在關閉的連接上調用此方法
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此方法
從以下版本開始:
1.4

prepareStatement

PreparedStatement prepareStatement(String sql,
                                   String[] columnNames)
                                   throws SQLException
創建一個能返回由給定陣列指定的自動產生鍵的預設 PreparedStatement 物件。此陣列包含目標表中列的名稱,而目標表包含應該返回的自動產生鍵。如果 SQL 語句不是 INSERT 語句,或者 SQL 語言能夠返回自動產生的鍵(這類別語句的列表是特定於供應商的),則驅動程序將忽略該陣列。

帶 IN 參數或不帶 IN 參數的 SQL 語句都可以被預編輯並存儲在 PreparedStatement 物件中。然後可以使用此物件多次有效地執行該語句。

註:為了處理受益於預先編譯的帶參數 SQL 語句,此方法進行了優化。如果驅動程序支持預先編譯,則 prepareStatement 方法將該語句發送給資料庫進行預先編譯。一些驅動程序可能不支持預先編譯。在這種情況下,執行 PreparedStatement 物件之前無法將語句發送給資料庫。這對使用者沒有直接影響;但它的確會影響哪些方法將拋出某些 SQLException。

使用返回的 PreparedStatement 物件創建的結果集在預設情況下型別為 TYPE_FORWARD_ONLY,並帶有 CONCUR_READ_ONLY 共時級別。已創建結果集的可保存性可調用 getHoldability() 確定。

參數:
sql - 可能包含一個或多個 '?' IN 參數佔位符的 SQL 語句
columnNames - 列名稱陣列,這些名稱指示應該從一個或多個插入行中返回的那些列
返回:
一個套件含預先編譯語句的新 PreparedStatement 物件,該物件能夠返回由給定列名稱陣列指定的自動產生鍵
拋出:
SQLException - 如果發生資料庫存取錯誤,或者在關閉的連接上調用此方法
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此方法
從以下版本開始:
1.4

createClob

Clob createClob()
                throws SQLException
建構實作 Clob 介面的物件。返回的物件最初不包含任何資料。Clob 介面的 setAsciiStreamsetCharacterStreamsetString 方法可用來向 Clob 添加資料。

返回:
實作 Clob 介面的物件
拋出:
SQLException - 如果無法建構實作 Clob 介面的物件,在關閉的連接上調用此方法,或者發生資料庫存取錯誤。
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此資料型別
從以下版本開始:
1.6

createBlob

Blob createBlob()
                throws SQLException
建構實作 Blob 介面的物件。返回的物件最初不包含任何資料。Blob 介面的 setBinaryStreamsetBytes 方法可用來向 Blob 添加資料。

返回:
實作 Blob 介面的物件
拋出:
SQLException - 如果無法建構實作 Blob 介面的物件,在關閉的連接上調用此方法,或者發生資料庫存取錯誤。
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此資料型別
從以下版本開始:
1.6

createNClob

NClob createNClob()
                  throws SQLException
建構實作 NClob 介面的物件。返回的物件最初不包含任何資料。NClob 介面的 setAsciiStreamsetCharacterStreamsetString 方法可用來向 NClob 添加資料。

返回:
實作 NClob 介面的物件
拋出:
SQLException - 如果無法建構實作 NClob 介面的物件,在關閉的連接上調用此方法,或者發生資料庫存取錯誤。
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此資料型別
從以下版本開始:
1.6

createSQLXML

SQLXML createSQLXML()
                    throws SQLException
建構實作 SQLXML 介面的物件。返回的物件最初不包含任何資料。SQLXML 介面的 createXmlStreamWritersetString 方法可用來向 SQLXML 物件添加資料。

返回:
實作 SQLXML 介面的物件
拋出:
SQLException - 如果無法建構實作 SQLXML 介面的物件,在關閉的連接上調用此方法,或者發生資料庫存取錯誤。
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此資料型別
從以下版本開始:
1.6

isValid

boolean isValid(int timeout)
                throws SQLException
如果連接尚未關閉並且仍然有效,則返回 true。驅動程序將提交一個關於該連接的查詢,或者使用其他某種能確切驗證在調用此方法時連接是否仍然有效的機制。

由驅動程序提交的用來驗證該連接的查詢將在當前事務的上下文中執行。

參數:
timeout - 等待用來驗證連接是否完成的資料庫操作的時間,以秒為單位。如果在操作完成之前逾時期滿,則此方法返回 false。0 值表示不對資料庫操作應用逾時值。

返回:
如果連接有效,則返回 true,否則返回 false
拋出:
SQLException - 如果為 timeout 提供的值小於 0
從以下版本開始:
1.6

另請參見:
DatabaseMetaData.getClientInfoProperties()

setClientInfo

void setClientInfo(String name,
                   String value)
                   throws SQLClientInfoException
將 name 指定的客戶端資訊屬性的值設置為 value 指定的值。

應用程序可以使用 DatabaseMetaData.getClientInfoProperties 方法確定驅動程序支持的客戶端資訊屬性,以及為每個屬性指定的最大長度。

驅動程序存儲資料庫中合適位置上指定的值。例如,在特殊註冊表 (special register)、Session參數 (session parameter) 或者系統表 (system table) 列中。為了提高效率,驅動程序可以將設置資料庫中的值推遲到下一次執行語句或者準備執行語句時。除了在資料庫中的適當位置存儲客戶端資訊之外,這些方法不能以任何方式改變連接的行為。為這些方法提供的值只能用於計數、診斷和除錯目的。

如果指定的客戶端屬性名稱不被驅動程序所識別,那麼該驅動程序將產生一個警告。

如果為此方法指定的值大於該屬性的最大長度,則驅動程序可能截取該值並產生一個警告,或者產生一個 SQLClientInfoException。如果驅動程序產生一個 SQLClientInfoException,則指定的值不是在連接上設置的。

以下是標準的客戶端資訊屬性。不過,如果驅動程序支持可由某個標準屬性描述的客戶端資訊屬性,則驅動程序無需支持這些屬性,應該使用標準屬性名稱。

參數:
name - 要設置的客戶端資訊屬性名稱
value - 要設置為客戶端資訊屬性的值。如果該值為 null,則清除指定屬性的當前值。

拋出:
SQLClientInfoException - 如果在資料庫伺服器上設置客戶端資訊值時資料庫伺服器返回一個錯誤,或者在關閉的連接上調用此方法

從以下版本開始:
1.6

setClientInfo

void setClientInfo(Properties properties)
                   throws SQLClientInfoException
設置連接的客戶端資訊屬性的值。Properties 物件包含將要設置的客戶端屬性的名稱和值。包含在屬性列表中的客戶端資訊屬性集將替換連接上的當前客戶端資訊屬性集。如果當前在連接上設置的某個屬性不在屬性列表中,則清除該屬性。指定一個空屬性列表將清除連接上的所有屬性。有關更多資訊,請參閱 setClientInfo (String, String)

如果在設置任何客戶端資訊屬性時發生錯誤,則拋出 SQLClientInfoExceptionSQLClientInfoException 套件含指示未設置的客戶端資訊屬性的資訊。客戶端資訊的狀態是未知的,因為某些資料庫不允許自動設置多個客戶端資訊屬性。對於這些資料庫,在錯誤發生之前已經設置了一個或多個屬性。

參數:
properties - 要設置的客戶端資訊屬性列表

拋出:
SQLClientInfoException - 如果在資料庫伺服器上設置 clientInfo 值時資料庫伺服器返回一個錯誤,或者在關閉的連接上調用此方法

從以下版本開始:
1.6

另請參見:
setClientInfo(String, String)

getClientInfo

String getClientInfo(String name)
                     throws SQLException
返回通過名稱指定的客戶端資訊屬性的值。如果指定的客戶端資訊屬性尚未設置並且沒有預設值,那麼此方法返回 null。如果指定客戶端資訊屬性名稱不受驅動程序支持,那麼此方法也將返回 null。

應用程序可以使用 DatabaseMetaData.getClientInfoProperties 方法確定受驅動程序支持的客戶端資訊屬性。

參數:
name - 要獲取的客戶端資訊屬性的名稱

返回:
指定的客戶端資訊屬性的值

拋出:
SQLException - 如果在從資料庫中獲取客戶端資訊值時資料庫伺服器返回一個錯誤,或者在關閉的連接上調用此方法

從以下版本開始:
1.6

另請參見:
DatabaseMetaData.getClientInfoProperties()

getClientInfo

Properties getClientInfo()
                         throws SQLException
返回一個列表,它包含驅動程序支持的每個客戶端資訊屬性的名稱和當前值。如果客戶端資訊屬性尚未設置並且沒有預設值,那麼客戶端資訊屬性的值為 null。

返回:
一個 Properties 物件,它包含驅動程序支持的每個客戶端資訊屬性的名稱和當前值。

拋出:
SQLException - 如果在從資料庫中獲取客戶端資訊值時資料庫伺服器返回一個錯誤,或者在關閉的連接上調用此方法

從以下版本開始:
1.6

createArrayOf

Array createArrayOf(String typeName,
                    Object[] elements)
                    throws SQLException
創建 Array 物件的處理器方法。

註:當使用 createArrayOf 創建映射到基本資料型別的陣列物件時,則 Array 物件是基本資料型別陣列還是 Object 陣列將由實作來定義。

註:JDBC 驅動程序負責將元素 Object 陣列映射到 java.sql.Types 中為 Object 的給定類別定義的預設 JDBC SQL 型別。預設映射關係是在 JDBC 規範的附錄 B 中指定的。如果得到的 JDBC 型別對於給定 typeName 而言不是合適的型別,則拋出 SQLException 還是驅動程序支持得到的轉換將由實作來定義。

參數:
typeName - 陣列元素將映射到的型別的 SQL 名稱。typeName 是特定於資料庫的名稱,它可能是內置類別、使用者定義型別或此資料庫支持的標準 SQL 型別的名稱。該參數是 Array.getBaseTypeName 返回的值
elements - 填充所返回物件的元素
返回:
其元素映射到指定 SQL 型別的 Array 物件
拋出:
SQLException - 如果發生資料庫錯誤,JDBC 型別對於 typeName 不是合適型別並且該轉換不受支持,typeName 為 null,或者在關閉的連接上調用此方法
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此資料型別
從以下版本開始:
1.6

createStruct

Struct createStruct(String typeName,
                    Object[] attributes)
                    throws SQLException
創建 Struct 物件的處理器方法。

參數:
typeName - 此 Struct 物件將映射到的 SQL 建構型別的 SQL 型別名稱。typeName 是為此資料庫定義的使用者定義型別的名稱。該參數是 Struct.getSQLTypeName 返回的值。
attributes - 填充所返回物件的屬性
返回:
映射到給定 SQL 型別的 Struct 物件,該物件將使用給定屬性填充
拋出:
SQLException - 如果發生資料庫錯誤,typeName 為 null,或者在關閉的連接上調用此方法
SQLFeatureNotSupportedException - 如果 JDBC 驅動程序不支持此資料型別
從以下版本開始:
1.6

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

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