ResultSet用法集錦
結果集(ResultSet)是數據中查詢結果返回的一種對象,可以說結果集是一個存儲查詢結果的對象,但是結果集並不僅僅具有存儲的功能,他同時還具有操縱數據的功能,可能完成對數據的更新等.
結果集讀取數據的方法主要是getXXX(),他的參數可以是整型表示第幾列(是從1開始的),還可以是列名。返回的是對應的XXX類型的值。如果對應那列 是空值,XXX是對象的話返回XXX型的空值,如果XXX是數字類型,如Float等則返回0,boolean返回false.使用getString()可以返回所有的列的值,不過返回的都是字符串類型的。XXX可以代表的類型有: 基本的數據類型如整型(int),布爾型(Boolean),浮點型(Float,Double)等,比特型(byte),還包括一些特殊的類型,如:日 期類型(java.sql.Date),時間類型(java.sql.Time),時間戳類型(java.sql.Timestamp),大數型 (BigDecimal和BigInteger等)等。還可以使用getArray(intcolindex/String columnname),通過這個方法獲得當前行中,colindex所在列的元素組成的對象的數組。使用 getAsciiStream(intcolindex/String colname)可以獲得該列對應的當前行的ascii流。也就是說所有的getXXX方法都是對當前行進行操作。
結果集從其使用的特點上 可以分為四類,這四類的結果集的所具備的特點都是和Statement語句的創建有關,因為結果集是通過Statement語句執行后產生的,所以可以 說,結果集具備何種特點,完全決定於Statement,當然我是說下面要將的四個特點,在Statement創建時包括三種類型。首先是無參數類型的, 它對應的就是下面要介紹的基本的ResultSet對應的Statement。下面的代碼中用到的Connection並沒有對其初始化,變量conn代 表的就是Connection對應的對象。SqlStr代表的是響應的SQL語句.
1、最基本的ResultSet。
之所以說是最基本的ResultSet是因為這個ResultSet它起到的作用就是完成了查詢結果的存儲功能,而且只能讀取一次,不能夠來回的滾動讀取。這種結果集的創建方式如下:
Statement st = conn.CreateStatement()
ResultSet rs = Statement.excuteQuery(sqlStr);
由於這種結果集不支持滾動的讀取功能,所以如果獲得這樣一個結果集,只能使用它里面的next()方法,逐個的讀去數據.
2、可滾動的ResultSet類型。
這個類型支持前后滾動取得紀錄next()、previous(),回到第一行first(),同時還支持要取的ResultSet中的第幾行 absolute(int n),以及移動到相對當前行的第幾行relative(int n),要實現這樣的ResultSet在創建Statement時用如下的方法。
Statement st =conn.createStatement(int resultSetType, int resultSetConcurrency)
ResultSet rs = st.executeQuery(sqlStr)
其中兩個參數的意義是:
resultSetType是設置ResultSet對象的類型標示可滾動,或者是不可滾動。取值如下:
| ResultSet.TYPE_FORWARD_ONLY |
只能向前滾動(這是默認值) |
| ResultSet.TYPE_SCROLL_INSENSITIVE |
這兩個方法都能夠實現任意的前后滾動,使用各種移動的ResultSet指針的方法。二者的區別在於前者對於修改不敏感,而后者對於修改敏感。
|
|
Result.TYPE_SCROLL_SENSITIVE |
resultSetConcurency是設置ResultSet對象能夠修改的,取值如下:
| ResultSet.CONCUR_READ_ONLY
|
設置為只讀類型的參數。 |
| ResultSet.CONCUR_UPDATABLE
|
設置為可修改類型的參數。 |
所以如果只是想要可以滾動的類型的Result只要把Statement如下賦值就行了。
Statement st =conn.createStatement(Result.TYPE_SCROLL_INSENITIVE, ResultSet.CONCUR_READ_ONLY);
ResultSet rs = st.excuteQuery(sqlStr);
用這個Statement執行的查詢語句得到的就是可滾動的ResultSet。
3、可更新的ResultSet
這樣的ResultSet對象可以完成對數據庫中表的修改,但是我知道ResultSet只是相當於數據庫中表的視圖,所以並不是所有的ResultSet只要設置了可更新就能夠完成更新的,能夠完成更新的ResultSet的SQL語句必須要具備如下的屬性:
a、只引用了單個表。
b、不含有join或者group by子句。
c、那些列中要包含主關鍵字。
具有上述條件的,可更新的ResultSet可以完成對數據的修改,可更新的結果集的創建方法是:
Statement st =createstatement(Result.TYPE_SCROLL_INSENSITIVE,Result.CONCUR_UPDATABLE)
這 樣的Statement的執行結果得到的就是可更新的結果集。更新的方法是,把ResultSet的游標移動到你要更新的行,然后調用 updateXXX(),這個方法XXX的含義和getXXX()是相同的。updateXXX()方法有兩個參數,第一個是要更新的列,可以是列名或者 序號。第二個是要更新的數據,這個數據類型要和XXX相同。每完成對一行的update要調用updateRow()完成對數據庫的寫入,而且是在 ResultSet的游標沒有離開該修改行之前,否則修改將不會被提交。
使用updateXXX方法還可以完成插入操作。但是首先要介紹兩個方法:
moveToInsertRow()是把ResultSet移動到插入行,這個插入行是表中特殊的一行,不需要指定具體那一行,只要調用這個方法系統會自動移動到那一行的。
moveToCurrentRow() 這是把ResultSet移動到記憶中的某個行,通常當前行。如果沒有使用insert操作,這個方法沒有什么效果,如果使用了insert操作,這個方 法用於返回到insert操作之前的那一行,離開插入行,當然也可以通過next(),previous()等方法離開插入行。
要完成對 數據庫的插入,首先調用moveToInsertRow()移動到插入行,然后調用updateXXX的方法完成對各列數據的更新,完成更新后和更新操作 一樣,要寫到數據庫,不過這里使用的是insertRow(),也要保證在該方法執行之前ResultSet沒有離開插入列,否則插入不被執行,並且對插 入行的更新將丟失.
4、可保持的ResultSet
正常情況下如果使用Statement執行完一個查詢,又去執行另一個查詢時這 時候第一個查詢的結果集就會被關閉,也就是說,所有的Statement的查詢對應的結果集是一個,如果調用Connection的commit()方法 也會關閉結果集。可保持性就是指當ResultSet的結果被提交時,是被關閉還是不被關閉。JDBC2.0和1.0提供的都是提交后ResultSet 就會被關閉。不過在JDBC3.0中,我們可以設置ResultSet是否關閉。要完成這樣的ResultSet的對象的創建,要使用的 Statement的創建要具有三個參數,這個Statement的創建方式也就是,我所說的Statement的第三種創建方式。如下:
Statementst=createStatement(int resultsetscrollable,int resultsetupdateable,intresultsetSetHoldability)
ResultSet rs = st.excuteQuery(sqlStr);
前兩個參數和createStatement方法中的參數是完全相同的,這里只介紹第三個參數:
resultSetHoldability表示在結果集提交后結果集是否打開,取值有兩個:
| ResultSet.HOLD_CURSORS_OVER_COMMIT
|
表示修改提交時ResultSet不關閉. |
| ResultSet.CLOSE_CURSORS_AT_COMMIT
|
表示修改提交時ResultSet關閉. |
不過這種功能只是在JDBC3.0的驅動下才能成立。
總結:
JDBCAPI 2.0/3.0中ResultSet記錄集的
JDBC API 2.0/3.0中ResultSet記錄集的簡便實用的新特性
1 新定義了若干個常數,這些常數用於指定ResultSet的類型游標移動的方向等性質,如下所示:
|
FETCH_FORWARD |
該常數的作用是指定處理記錄集中行的順序,是由前到后即從第一行開始處理一直到最后一行. |
|
FETCH_REVERSE |
該常數的作用是指定處理記錄集中行的順序,是由后到前即從最后一行開始處理一直到第一行. |
|
FETCH_UNKNOWN |
該常數的作用是不指定處理記錄集中行的順序,由JDBC 驅動程序和數據庫系統決定. |
|
TYPE_FORWARD_ONLY |
該常數的作用是指定數據庫游標的移動方向是向前,不允許向后移動即只能使ResultSet 接口的next()方法而不能使用previous()方法否則會產生錯誤. |
|
TYPE_SCROLL_INSENSITIVE |
該常數的作用是指定數據庫游標可以在記錄集中前后移動,並且當前數據庫用戶獲取的記錄集對其他用戶的操作不敏感;就是說,當前用戶正在瀏覽記錄集中的數據,與此同時,其他用戶更新了數據庫中的數據,但是當前用戶所獲取的記錄集中的數據不會受到任何影響。 |
|
TYPE_SCROLL_SENSITIVE |
該 常數的作用是指定數據庫游標可以在記錄集中前后移動,並且當前數據庫用戶獲取的記錄集對其他用戶的操作敏感,就是說,當前用戶正在瀏覽記錄集,但是其它用 戶的操作使數據庫中的數據發生了變化,當前用戶所獲取的記錄集中的數據也會同步發生變化,這樣有可能會導致非常嚴重的錯誤產生建議慎重使用該常數。 |
|
CONCUR_READ_ONLY |
該常數的作用是指定當前記錄集的協作方式(concurrencymode)為只讀;一旦使用了這個常數,那么用戶就不可以更新記錄集中的數據。 |
|
CONCUR_UPDATABLE |
該常數的作用是指定當前記錄集的協作方式(concurrencymode)為可以更新;一旦使用了這個常數,那么用戶就可以使用updateXXX()等方法更新記。 |
| CLOSE_CURSORS_AT_COMMIT
|
表示修改提交時ResultSet關閉. |
| HOLD_CURSORS_OVER_COMMIT
|
表示修改提交時ResultSet不關閉. |
2 ResultSet 接口提供了一整套的定位方法
這些可以在記錄集中定位到任意一行:
| public boolean absolute(int row): 該方法的作用是將記錄集中的某一行設定為當前行,亦即將數據庫游標移動到指定的行,參數row 指定了目標行的行號,這是絕對的行號,由記錄集的第一行開始計算不是相對的行號.
|
| public boolean relative(int rows): 該方法的作用也是將記錄集中的某一行設定為當前行,但是它的參數rows 表示目標行相對於當前行的行號。
|
| public boolean first(); 該方法的作用是將當前行定位到數據庫記錄集的第一行。
|
| public boolean last(); 該方法的作用剛好和first()方法相反。
|
| public boolean isFirst(); 該方法的作用是檢查當前行是否記錄集的第一行,如果是返回true, 否則返回false.
|
| public boolean isLast(); 該方法的作用是檢查當前行是否記錄集的最后一行,如果是返回true ,否則返回false。
|
| public void afterLast(); 該方法的作用是將數據庫游標移到記錄集的最后,位於記錄集最后一行的后面,如果該記錄集不包含任何的行該方法不產生作用。
|
| public void beforeFirst(); 該方法的作用是將數據庫游標移到記錄集的最前面,位於記錄集第一行的前面,如果記錄集不包含任何的行該方法不產生作用。
|
| public boolean isAfterLast(); 該方法檢查數據庫游標是否處於記錄集的最后面,如果是返回true ,否則返回false。
|
| public boolean isBeforeFirst(); 該方法檢查數據庫游標是否處於記錄集的最前面,如果是返回true ,否則返回false。
|
|
public boolean next(); 該方法的作用是將數據庫游標向前移動一位,使得下一行成為當前行,當剛剛打開記錄集對象時,數據庫游標的位置在記錄集的最前面,第一次使用next()方 法將會使數據庫游標定位到記錄集的第一行,第二次使用next()方法將會使數據庫游標定位到記錄集的第二行,以此類推。
|
|
public boolean previous(); 該方法的作用是將數據庫游標向后移動一位,使得上一行成為當前行.
|
3ResultSet 接口添加了對行操作的支持(最令人心動之處)
修 改了的記錄集接口(ResultSet 接口)的方法,使它支持可以滾動的記錄集,即數據庫游標可以在返回的記錄集對象中自由地向前或向后滾動,或者定位到某個特殊的行。利用ResultSet 接口中定義的新方法,JSP/Servlet 程序員可以用Java語言來更新記錄集,比如插入記錄,更新某行的數據,而不是靠執行SQL 語句,這樣就大大方便了程序員的開發工作,享受Java編程的樂趣了。
ResultSet 接口中新添加的部分方法如下所示:
| public boolean rowDeleted(); 如果當前記錄集的某行被刪除了,那么記錄集中將會留出一個空位;調用rowDeleted()方法,如果探測到空位的存在,那么就返回true; 如果沒有探測到空位的存在,就返回false 值.
|
| public boolean rowInserted(); 如果當前記錄集中插入了一個新行,該方法將返回true ,否則返回false。
|
| public boolean rowUpdated(); 如果當前記錄集的當前行的數據被更新,該方法返回true ,否則返回false。
|
| public void insertRow(); 該方法將執行插入一個新行到當前記錄集的操作。
|
| public void updateRow(); 該方法將更新當前記錄集當前行的數據。
|
| public void deleteRow(); 該方法將刪除當前記錄集的當前行。
|
| public void updateString(int columnIndex ,String x); 該方法更新當前記錄集當前行某列的值,該列的數據類型是String(指Java 數據類型是String,與之對應的JDBC 數據類型是VARCHAR 或NVARCHAR 等數據類型) 。該方法的參數columnIndex 指定所要更新的列的列索引,第一列的列索引是1 ,以此類推,第二個參數x 代表新的值,這個方法並不執行數據庫操作,需要執行insertRow()方法或者updateRow()方法以后,記錄集和數據庫中的數據才能夠真正更新。
|
| public void updateString(String columnName ,String x); 該方法和上面介紹的同名方法差不多,不過該方法的第一個參數是columnName ,代表需要更新的列的列名,而不是columnIndex。
|
4.基本操作:
往數據庫當前記錄集插入新行的操作流程如下:
1 調用moveToInsertRow()方法;
2 調用updateXXX()方法指定插入行各列的值;
3 調用insertRow()方法往數據庫中插入新的行。
更新數據庫中某個記錄的值(某行的值)的方法是:
1 定位到需要修改的行(使用absolute()relative()等方法定位);
2 使用相應updateXXX()方法設定某行某列的新值;XXX 所代表的Java數據類型,必須可以映射為某列的JDBC數據類型,如果希望rollback 該項操作,請在調用updateRow()方法以前,使用cancelRowUpdates()方法,這個方法可以將某行某列的值復原;
3 使用updateRow()方法完成UPDATE的操作。
刪除記錄集中某行(亦即刪除某個記錄)的方法:
1 定位到需要修改的行(使用absolute()relative()等方法定位);
2 使用deleteRow()
刪除記錄集中某行(亦即刪除某個記錄)的方法:
1 定位到需要修改的行(使用absolute()relative()等方法定位);
2 使用deleteRow()方法.
JDBC的ResultSet接口(查詢操作)、PreparedStatement接口重構增刪改查(含SQL注入的解釋)
首先需要回顧一下上一篇文章中的內容:MySQL數據庫學習筆記(八)----JDBC入門及簡單增刪改數據庫的操作
一、ResultSet接口的介紹:
對數據庫的查詢操作,一般需要返回查詢結果,在程序中,JDBC為我們提供了ResultSet接口來專門處理查詢結果集。
Statement通過以下方法執行一個查詢操作:
ResultSet executeQuery(String sql) throws SQLException
單詞Query就是查詢的意思。函數的返回類型是ResultSet,實際上查詢的數據並不在ResultSet里面,依然是在數據庫里,ResultSet中的next()方法類似於一個指針,指向查詢的結果,然后不斷遍歷。所以這就要求連接不能斷開。
ResultSet接口常用方法:
- boolean next() 遍歷時,判斷是否有下一個結果
- int getInt(String columnLabel)
- int getInt(int columnIndex)
- Date getDate(String columnLabel)
- Date getDate(int columnIndex)
- String getString(String columnLabel)
- String getString(int columnIndex)
二、ResultSet接口實現查詢操作:
步驟如下:(和上一篇博文中的增刪改的步驟類似哦)
- 1、加載數據庫驅動程序:Class.forName(驅動程序類)
- 2、通過用戶名密碼和連接地址獲取數據庫連接對象:DriverManager.getConnection(連接地址,用戶名,密碼)
- 3、構造查詢SQL語句
- 4、創建Statement實例:Statement stmt = conn.createStatement()
- 5、執行查詢SQL語句,並返回結果:ResultSet rs = stmt.executeQuery(sql)
- 6、處理結果
- 7、關閉連接:rs.close()、stmt.close()、conn.close()
我們來舉個例子吧,來查詢下面的這個表:

新建工程JDBC02,依舊先導入jar包。然后新建類,完整版代碼如下:
1 package com.vae.jdbc; 2 3 import java.sql.Connection; 4 import java.sql.DriverManager; 5 import java.sql.ResultSet; 6 import java.sql.SQLException; 7 import java.sql.Statement; 8 9 public class JdbcQuey { 10 11 12 //數據庫連接地址 13 private final static String URL = "jdbc:mysql://localhost:3306/JDBCdb"; 14 //用戶名 15 public final static String USERNAME = "root"; 16 //密碼 17 public final static String PASSWORD = "smyh"; 18 //加載的驅動程序類(這個類就在我們導入的jar包中) 19 public final static String DRIVER = "com.mysql.jdbc.Driver"; 20 21 public static void main(String[] args) { 22 // TODO Auto-generated method stub 23 query(); 24 25 } 26 27 28 //方法:查詢操作 29 public static void query(){ 30 try { 31 Class.forName(DRIVER); 32 Connection conn = DriverManager.getConnection(URL, USERNAME, PASSWORD); 33 String sql = "select id,name,age,description from person"; 34 Statement state = conn.createStatement(); 35 //執行查詢並返回結果集 36 ResultSet rs = state.executeQuery(sql); 37 while(rs.next()){ //通過next來索引:判斷是否有下一個記錄 38 //rs.getInt("id"); //方法:int java.sql.ResultSet.getInt(String columnLabel) throws SQLException 39 int id = rs.getInt(1); //方法:int java.sql.ResultSet.getInt(int columnIndex) throws SQLException 40 41 String name = rs.getString(2); 42 int age = rs.getInt(3); 43 String description = rs.getString(4); 44 System.out.println("id="+id+",name="+name+",age="+age+",description="+description); 45 } 46 rs.close(); 47 state.close(); 48 conn.close(); 49 50 } catch (ClassNotFoundException e) { 51 e.printStackTrace(); 52 } catch (SQLException e) { 53 e.printStackTrace(); 54 } 55 } 56 }
關於代碼的解釋,可以看上一篇博客。上方代碼的核心部分是37至45行。
37行:next()函數:通過next來索引,判斷是否有下一個記錄。一開始就指向內存的首地址,即第一條記錄,如果返回值為true,指針會自動指向下一條記錄。
38、39行:getInt(String columnLabel)或者getInt(int columnIndex)代表的是列的索引,參數可以是列的名字,也可以用編號來表示,我們一般采用后者。編號的順序是按照33行sql語句中列的順序來定的。
程序運行后,后台輸出如下:

上一篇博客+以上部分,實現了對數據庫的簡單增刪改查的操作。其實這種拼接的方式很不好:既麻煩又不安全。我們接下來進行改進。
三、使用PreparedStatement重構增刪改查(推薦)
概念:表示預編譯的SQL語句的對象。SQL語句被預編譯並存儲在PreparedStatement對象中。然后可以使用此對象多次高效地執行該語句。PreparedStatement是Statement的一個接口。
作用:靈活處理sql語句中的變量。
舉例:
以下面的這張數據庫表為例:

新建Java工程文件JDBC3。新建一個Person類,方便在主方法里進行操作。Person類的代碼如下:
package com.vae.jdbc; public class Person { private int id; private String name; private int age; private String description; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public Person(int id, String name, int age, String description) { super(); this.id = id; this.name = name; this.age = age; this.description = description; } public Person(String name, int age, String description) { super(); this.name = name; this.age = age; this.description = description; } public Person() { super(); } @Override public String toString() { return "Person [id=" + id + ", name=" + name + ", age=" + age + ", description=" + description + "]"; } }
上方是一個簡單的Person類,並添加set和get方法以及構造方法,無需多解釋。
插入操作:
現在在主類JDBCtest中實現插入操作,完整代碼如下:
1 package com.vae.jdbc; 2 3 import java.sql.Connection; 4 import java.sql.DriverManager; 5 import java.sql.PreparedStatement; 6 import java.sql.SQLException; 7 8 public class JDBCtest { 9 10 11 //數據庫連接地址 12 public final static String URL = "jdbc:mysql://localhost:3306/JDBCdb"; 13 //用戶名 14 public final static String USERNAME = "root"; 15 //密碼 16 public final static String PASSWORD = "smyh"; 17 //驅動類 18 public final static String DRIVER = "com.mysql.jdbc.Driver"; 19 20 21 public static void main(String[] args) { 22 // TODO Auto-generated method stub 23 Person p = new Person("smyhvae",22,"我是在Java代碼中插入的數據"); 24 insert(p); 25 } 26 27 28 29 //方法:使用PreparedStatement插入數據 30 public static void insert(Person p){ 31 32 try { 33 Class.forName(DRIVER); 34 Connection conn = DriverManager.getConnection(URL, USERNAME, PASSWORD); 35 String sql = "insert into person(name,age,description)values(?,?,?)"; 36 PreparedStatement ps = conn.prepareStatement(sql); 37 //設置占位符對應的值 38 ps.setString(1, p.getName()); 39 ps.setInt(2, p.getAge()); 40 ps.setString(3, p.getDescription()); 41 42 ps.executeUpdate(); 43 44 ps.close(); 45 conn.close(); 46 47 48 } catch (ClassNotFoundException e) { 49 e.printStackTrace(); 50 } catch (SQLException e) { 51 e.printStackTrace(); 52 } 53 } 54 }
我們來看一下上面的代碼是怎么實現代碼的優化的:
30行:將整個person對象進去,代表的是數據庫中的一條記錄。
35行:問號可以理解為占位符,有幾個問號就代表要插入幾個列,這樣看來sql代碼就比較簡潔。
38至40行:給35行的問號設值,參數1代表第一個問號的位置,以此類推。
然后我們在main主方法中給Person設具體的值(23行),通過insert()方法就插入到數據庫中去了。數據庫中就多了一條記錄:

更新操作:
代碼和上方類似,修改操作的方法如下:
1 //方法:使用PreparedStatement更新數據 2 public static void update(Person p){ 3 try { 4 Class.forName(DRIVER); 5 Connection conn = DriverManager.getConnection(URL, USERNAME, PASSWORD); 6 String sql = "update person set name=?,age=?,description=? where id=?"; 7 PreparedStatement ps = conn.prepareStatement(sql); 8 //設置占位符對應的值 9 ps.setString(1, p.getName()); 10 ps.setInt(2, p.getAge()); 11 ps.setString(3, p.getDescription()); 12 ps.setInt(4, p.getId()); 13 14 ps.executeUpdate(); 15 16 ps.close(); 17 conn.close(); 18 19 20 } catch (ClassNotFoundException e) { 21 e.printStackTrace(); 22 } catch (SQLException e) { 23 e.printStackTrace(); 24 } 25 }
因為在這里有四個問號的占位符,所以稍后再main方法中記得使用四個參數的Person構造方法,傳遞四個參數。
刪除操作:
代碼和上方類似,方法如下:
1 //方法:使用PreparedStatement刪除數據 2 public static void delete(int id){ 3 try { 4 Class.forName(DRIVER); 5 Connection conn = DriverManager.getConnection(URL, USERNAME, PASSWORD); 6 String sql = "delete from person where id=?"; 7 PreparedStatement ps = conn.prepareStatement(sql); 8 //設置占位符對應的值 9 ps.setInt(1, id); 10 11 ps.executeUpdate(); 12 13 ps.close(); 14 conn.close(); 15 16 17 } catch (ClassNotFoundException e) { 18 e.printStackTrace(); 19 } catch (SQLException e) { 20 e.printStackTrace(); 21 } 22 }
這里的方法中,傳入的參數是是一個id。
查詢操作:
1 // 使用PreparedStatement查詢數據 2 public static Person findById(int id){ 3 Person p = null; 4 try { 5 Class.forName(DRIVER); 6 Connection conn = DriverManager.getConnection(URL, USERNAME, PASSWORD); 7 String sql = "select name,age,description from person where id=?"; 8 PreparedStatement ps = conn.prepareStatement(sql); 9 //設置占位符對應的值 10 ps.setInt(1, id); 11 12 ResultSet rs = ps.executeQuery(); 13 if(rs.next()){ 14 p = new Person(); 15 p.setId(id); 16 p.setName(rs.getString(1)); 17 p.setAge(rs.getInt(2)); 18 p.setDescription(rs.getString(3)); 19 //把 java.sql.Date 與 java.util.Date之間的轉換 20 // java.util.Date date = rs.getDate(4); 21 // ps.setDate(4, new java.sql.Date(date.getTime())); 22 23 } 24 rs.close(); 25 ps.close(); 26 conn.close(); 27 28 29 } catch (ClassNotFoundException e) { 30 e.printStackTrace(); 31 } catch (SQLException e) { 32 e.printStackTrace(); 33 } 34 return p; 35 }
查詢操作稍微麻煩一點,在方法中傳入的參數是id,方法的返回值是查詢的結果,即Person類。
五、PreparedStatement小結:
在JDBC應用中,如果你已經是稍有水平開發者,你就應該始終以PreparedStatement代替Statement。也就是說,在任何時候都不要使用Statement。
基於以下的原因:
- 一、代碼的可讀性和可維護性
- 二、PreparedStatement可以盡最大可能提高性能
- 三、最重要的一點是極大地提高了安全性
如果使用Statement而不使用PreparedStatement,則會造成一個安全性問題:SQL注入
來看一下SQL注入是怎么回事。現在有如下的一張用戶名密碼表user:

我們在執行如下sql語句進行查詢:
select id,name,pwd from user where name='xxx' and pwd = 'x' or '1'='1'
竟能出奇地查到所有的用戶名、密碼信息:

因為1=1永遠是成立的,所以這句話永遠都成立。所以在Java代碼中,可以利用這個漏洞,將上方的藍框部分內容當做pwd的變量的內容。來舉個反例:使用Statement寫一個登陸的操作:
1 //登 錄(Statement:會造成SQL注入的安全性問題) 2 public static void login(String name,String pwd){ 3 Person p = null; 4 try { 5 Class.forName(DRIVER); 6 Connection conn = DriverManager.getConnection(URL, USERNAME, PASSWORD); 7 // String sql = "select id,name,pwd from user where name='' and pwd=''"; 8 9 StringBuffer sql = new StringBuffer("select id,name,pwd from user where name='"); 10 sql.append(name).append("' and pwd='").append(pwd).append("'"); 11 Statement ps = conn.createStatement(); 12 13 ResultSet rs = ps.executeQuery(sql.toString()); 14 if(rs.next()){ 15 } 16 rs.close(); 17 ps.close(); 18 conn.close(); 19 20 21 } catch (ClassNotFoundException e) { 22 e.printStackTrace(); 23 } catch (SQLException e) { 24 e.printStackTrace(); 25 } 26 }
上方代碼中的第10行就是采用字符串拼接的方式,就會造成SQL注入的安全性問題。
而如果使用PreparedStatement中包含問號的sql語句,程序就會先對這句sql語句進行判斷,就不會出現字符串拼接的現象了。
最后附上本文中,PreparedStatement接口重構增刪改查的完整版代碼:
1 package com.vae.jdbc; 2 3 import java.sql.Connection; 4 import java.sql.DriverManager; 5 import java.sql.PreparedStatement; 6 import java.sql.ResultSet; 7 import java.sql.SQLException; 8 9 public class JDBCtest { 10 11 12 //數據庫連接地址 13 public final static String URL = "jdbc:mysql://localhost:3306/JDBCdb"; 14 //用戶名 15 public final static String USERNAME = "root"; 16 //密碼 17 public final static String PASSWORD = "smyh"; 18 //驅動類 19 public final static String DRIVER = "com.mysql.jdbc.Driver"; 20 21 22 public static void main(String[] args) { 23 // TODO Auto-generated method stub 24 Person p = new Person(); 25 //insert(p); 26 //update(p); 27 //delete(3); 28 p = findById(2); 29 System.out.println(p); 30 } 31 32 33 //方法:使用PreparedStatement插入數據 34 public static void insert(Person p){ 35 36 try { 37 Class.forName(DRIVER); 38 Connection conn = DriverManager.getConnection(URL, USERNAME, PASSWORD); 39 String sql = "insert into person(name,age,description)values(?,?,?)"; 40 PreparedStatement ps = conn.prepareStatement(sql); 41 //設置占位符對應的值 42 ps.setString(1, p.getName()); 43 ps.setInt(2, p.getAge()); 44 ps.setString(3, p.getDescription()); 45 46 ps.executeUpdate(); 47 48 ps.close(); 49 conn.close(); 50 51 52 } catch (ClassNotFoundException e) { 53 e.printStackTrace(); 54 } catch (SQLException e) { 55 e.printStackTrace(); 56 } 57 } 58 59 60 //方法:使用PreparedStatement更新數據 61 public static void update(Person p){ 62 try { 63 Class.forName(DRIVER); 64 Connection conn = DriverManager.getConnection(URL, USERNAME, PASSWORD); 65 String sql = "update person set name=?,age=?,description=? where id=?"; 66 PreparedStatement ps = conn.prepareStatement(sql); 67 //設置占位符對應的值 68 ps.setString(1, p.getName()); 69 ps.setInt(2, p.getAge()); 70 ps.setString(3, p.getDescription()); 71 ps.setInt(4, p.getId()); 72 73 ps.executeUpdate(); 74 75 ps.close(); 76 conn.close(); 77 78 79 } catch (ClassNotFoundException e) { 80 e.printStackTrace(); 81 } catch (SQLException e) { 82 e.printStackTrace(); 83 } 84 } 85 86 87 //方法:使用PreparedStatement刪除數據 88 public static void delete(int id){ 89 try { 90 Class.forName(DRIVER); 91 Connection conn = DriverManager.getConnection(URL, USERNAME, PASSWORD); 92 String sql = "delete from person where id=?"; 93 PreparedStatement ps = conn.prepareStatement(sql); 94 //設置占位符對應的值 95 ps.setInt(1, id); 96 97 ps.executeUpdate(); 98 99 ps.close(); 100 conn.close(); 101 102 103 } catch (ClassNotFoundException e) { 104 e.printStackTrace(); 105 } catch (SQLException e) { 106 e.printStackTrace(); 107 } 108 } 109 110 111 // 使用PreparedStatement查詢數據 112 public static Person findById(int id){ 113 Person p = null; 114 try { 115 Class.forName(DRIVER); 116 Connection conn = DriverManager.getConnection(URL, USERNAME, PASSWORD); 117 String sql = "select name,age,description from person where id=?"; 118 PreparedStatement ps = conn.prepareStatement(sql); 119 //設置占位符對應的值 120 ps.setInt(1, id); 121 122 ResultSet rs = ps.executeQuery(); 123 if(rs.next()){ 124 p = new Person(); 125 p.setId(id); 126 p.setName(rs.getString(1)); 127 p.setAge(rs.getInt(2)); 128 p.setDescription(rs.getString(3)); 129 //把 java.sql.Date 與 java.util.Date之間的轉換 130 // java.util.Date date = rs.getDate(4); 131 // ps.setDate(4, new java.sql.Date(date.getTime())); 132 133 } 134 rs.close(); 135 ps.close(); 136 conn.close(); 137 138 139 } catch (ClassNotFoundException e) { 140 e.printStackTrace(); 141 } catch (SQLException e) { 142 e.printStackTrace(); 143 } 144 return p; 145 } 146 147 148 }
public interface ResultSet
表示數據庫結果集的數據表,通常通過執行查詢數據庫的語句生成。
ResultSet 對象具有指向其當前數據行的指針。最初,指針被置於第一行之前。next 方法將指針移動到下一行;因為該方法在 ResultSet 對象中沒有下一行時返回 false,所以可以在 while 循環中使用它來迭代結果集。
默認的 ResultSet 對象不可更新,僅有一個向前移動的指針。因此,只能迭代它一次,並且只能按從第一行到最后一行的順序進行。可以生成可滾動和/或可更新的 ResultSet 對象。以下代碼片段(其中 con 為有效的 Connection 對象)演示了如何生成可滾動且不受其他更新影響的、可更新的結果集。請參閱 ResultSet 字段以了解其他選項。
Statement stmt = con.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
ResultSet rs = stmt.executeQuery("SELECT a, b FROM TABLE2");
// rs will be scrollable, will not show changes made by others,
// and will be updatable
ResultSet 接口提供用於從當前行檢索列值的
獲取方法(
getBoolean、
getLong 等)。可以使用列的索引編號或列的名稱檢索值。一般情況下,使用列索引較為高效。列從 1 開始編號。為了獲得最大的可移植性,應該按從左到右的順序讀取每行中的結果集列,而且每列只能讀取一次。
對於獲取方法,JDBC 驅動程序嘗試將基礎數據轉換為在獲取方法中指定的 Java 類型,並返回適當的 Java 值。JDBC 規范有一個表,顯示允許的從 SQL 類型到供 ResultSet 獲取方法使用的 Java 類型的映射關系。
用作獲取方法的輸入的列名稱不區分大小寫。用列名稱調用獲取方法時,如果多個列具有這一名稱,則返回第一個匹配列的值。列名稱選項在生成結果集的 SQL 查詢中使用列名稱時使用。對於沒有在查詢中顯式命名的列,最好使用列編號。如果使用列名稱,程序員無法保證名稱實際所指的就是預期的列。
在 JDBC 2.0 API (JDK 1.2) 中,此接口添加了一組更新方法。關於獲取方法參數的注釋同樣適用於更新方法的參數。
可以用以下兩種方式使用更新方法:
- 更新當前行中的列值。在可滾動的
ResultSet對象中,可以向前和向后移動指針,將其置於絕對位置或相對於當前行的位置。以下代碼片段更新ResultSet對象rs的第五行中的NAME列,然后使用方法updateRow更新用於派生rs的數據源表。rs.absolute(5); // moves the cursor to the fifth row of rs rs.updateString("NAME", "AINSWORTH"); // updates the //NAMEcolumn of row 5 to beAINSWORTHrs.updateRow(); // updates the row in the data source - 將列值插入到插入行中。可更新的
ResultSet對象具有一個與其關聯的特殊行,該行用作構建要插入的行的暫存區域 (staging area)。以下代碼片段將指針移動到插入行,構建一個三列的行,並使用方法insertRow將其插入到rs和數據源表中。rs.moveToInsertRow(); // moves cursor to the insert row rs.updateString(1, "AINSWORTH"); // updates the // first column of the insert row to beAINSWORTHrs.updateInt(2,35); // updates the second column to be35rs.updateBoolean(3, true); // updates the third column totruers.insertRow(); rs.moveToCurrentRow();
當生成 ResultSet 對象的 Statement 對象關閉、重新執行或用來從多個結果的序列檢索下一個結果時,ResultSet 對象會自動關閉。
ResultSet 對象的列的編號、類型和屬性由 ResultSet.getMetaData 方法返回的 ResulSetMetaData 對象提供。
| 字段摘要 | |
|---|---|
static int |
CLOSE_CURSORS_AT_COMMIT 該常量指示調用 Connection.commit 方法時應該關閉 ResultSet 對象。 |
static int |
CONCUR_READ_ONLY 該常量指示不可以更新的 ResultSet 對象的並發模式。 |
static int |
CONCUR_UPDATABLE 該常量指示可以更新的 ResultSet 對象的並發模式。 |
static int |
FETCH_FORWARD 該常量指示將按正向(即從第一個到最后一個)處理結果集中的行。 |
static int |
FETCH_REVERSE 該常量指示將按反向(即從最后一個到第一個)處理結果集中的行處理。 |
static int |
FETCH_UNKNOWN 該常量指示結果集中的行的處理順序未知。 |
static int |
HOLD_CURSORS_OVER_COMMIT 該常量指示調用 Connection.commit 方法時不應關閉 ResultSet 對象。 |
static int |
TYPE_FORWARD_ONLY 該常量指示指針只能向前移動的 ResultSet 對象的類型。 |
static int |
TYPE_SCROLL_INSENSITIVE 該常量指示可滾動但通常不受其他的更改影響的 ResultSet 對象的類型。 |
static int |
TYPE_SCROLL_SENSITIVE 該常量指示可滾動並且通常受其他的更改影響的 ResultSet 對象的類型。 |
| 方法摘要 | |
|---|---|
boolean |
absolute(int row) 將指針移動到此 ResultSet 對象的給定行編號。 |
void |
afterLast() 將指針移動到此 ResultSet 對象的末尾,正好位於最后一行之后。 |
void |
beforeFirst() 將指針移動到此 ResultSet 對象的開頭,正好位於第一行之前。 |
void |
cancelRowUpdates() 取消對 ResultSet 對象中的當前行所作的更新。 |
void |
clearWarnings() 清除在此 ResultSet 對象上報告的所有警告。 |
void |
close() 立即釋放此 ResultSet 對象的數據庫和 JDBC 資源,而不是等待該對象自動關閉時發生此操作。 |
void |
deleteRow() 從此 ResultSet 對象和底層數據庫中刪除當前行。 |
int |
findColumn(String columnName) 將給定的 ResultSet 列名稱映射到其 ResultSet 列索引。 |
boolean |
first() 將指針移動到此 ResultSet 對象的第一行。 |
Array |
getArray(int i) 以 Java 編程語言中 Array 對象的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
Array |
getArray(String colName) 以 Java 編程語言中 Array 對象的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
InputStream |
getAsciiStream(int columnIndex) 以 ASCII 字符流的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
InputStream |
getAsciiStream(String columnName) 以 ASCII 字符流的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
BigDecimal |
getBigDecimal(int columnIndex) 以具有全精度的 java.math.BigDecimal 的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
BigDecimal |
getBigDecimal(int columnIndex, int scale) 已過時。 |
BigDecimal |
getBigDecimal(String columnName) 以具有全精度的 java.math.BigDecimal 的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
BigDecimal |
getBigDecimal(String columnName, int scale) 已過時。 |
InputStream |
getBinaryStream(int columnIndex) 以未解釋字節的二進制流的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
InputStream |
getBinaryStream(String columnName) 以未解釋的 byte 流的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
Blob |
getBlob(int i) 以 Java 編程語言中 Blob 對象的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
Blob |
getBlob(String colName) 以 Java 編程語言中 Blob 對象的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
boolean |
getBoolean(int columnIndex) 以 Java 編程語言中 boolean 的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
boolean |
getBoolean(String columnName) 以 Java 編程語言中 boolean 的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
byte |
getByte(int columnIndex) 以 Java 編程語言中 byte 的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
byte |
getByte(String columnName) 以 Java 編程語言中 byte 的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
byte[] |
getBytes(int columnIndex) 以 Java 編程語言中 byte 數組的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
byte[] |
getBytes(String columnName) 以 Java 編程語言中 byte 數組的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
Reader |
getCharacterStream(int columnIndex) 以 java.io.Reader 對象的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
Reader |
getCharacterStream(String columnName) 以 java.io.Reader 對象的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
Clob |
getClob(int i) 以 Java 編程語言中 Clob 對象的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
Clob |
getClob(String colName) 以 Java 編程語言中 Clob 對象的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
int |
getConcurrency() 檢索此 ResultSet 對象的並發模式。 |
String |
getCursorName() 檢索此 ResultSet 對象使用的 SQL 指針的名稱。 |
Date |
getDate(int columnIndex) 以 Java 編程語言中 java.sql.Date 對象的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
Date |
getDate(int columnIndex, Calendar cal) 以 Java 編程語言中 java.sql.Date 對象的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
Date |
getDate(String columnName) 以 Java 編程語言中的 java.sql.Date 對象的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
Date |
getDate(String columnName, Calendar cal) 以 Java 編程語言中 java.sql.Date 對象的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
double |
getDouble(int columnIndex) 以 Java 編程語言中 double 的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
double |
getDouble(String columnName) 以 Java 編程語言中 double 的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
int |
getFetchDirection() 檢索此 ResultSet 對象的獲取方向。 |
int |
getFetchSize() 檢索此 ResultSet 對象的獲取大小。 |
float |
getFloat(int columnIndex) 以 Java 編程語言中 float 的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
float |
getFloat(String columnName) 以 Java 編程語言中 float 的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
int |
getInt(int columnIndex) 以 Java 編程語言中 int 的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
int |
getInt(String columnName) 以 Java 編程語言中 int 的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
long |
getLong(int columnIndex) 以 Java 編程語言中 long 的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
long |
getLong(String columnName) 以 Java 編程語言中 long 的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
ResultSetMetaData |
getMetaData() 檢索此 ResultSet 對象的列的編號、類型和屬性。 |
Object |
getObject(int columnIndex) 以 Java 編程語言中 Object 的形式獲取此 ResultSet 對象的當前行中指定列的值。 |
Object |
getObject(int i, Map<String,Class<?>> map) 以 Java 編程語言中 Object 的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
Object |
getObject(String columnName) 以 Java 編程語言中 Object 的形式獲取此 ResultSet 對象的當前行中指定列的值。 |
Object |
getObject(String colName, Map<String,Class<?>> map) 以 Java 編程語言中 Object 的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
Ref |
getRef(int i) 以 Java 編程語言中 Ref 對象的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
Ref |
getRef(String colName) 以 Java 編程語言中 Ref 對象的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
int |
getRow() 檢索當前行編號。 |
short |
getShort(int columnIndex) 以 Java 編程語言中 short 的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
short |
getShort(String columnName) 以 Java 編程語言中 short 的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
Statement |
getStatement() 檢索生成此 ResultSet 對象的 Statement 對象。 |
String |
getString(int columnIndex) 以 Java 編程語言中 String 的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
String |
getString(String columnName) 以 Java 編程語言中 String 的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
Time |
getTime(int columnIndex) 以 Java 編程語言中 java.sql.Time 對象的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
Time |
getTime(int columnIndex, Calendar cal) 以 Java 編程語言中 java.sql.Time 對象的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
Time |
getTime(String columnName) 以 Java 編程語言中 java.sql.Time 對象的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
Time |
getTime(String columnName, Calendar cal) 以 Java 編程語言中 java.sql.Time 對象的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
Timestamp |
getTimestamp(int columnIndex) 以 Java 編程語言中 java.sql.Timestamp 對象的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
Timestamp |
getTimestamp(int columnIndex, Calendar cal) 以 Java 編程語言中 java.sql.Timestamp 對象的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
Timestamp |
getTimestamp(String columnName) 以 java.sql.Timestamp 對象的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
Timestamp |
getTimestamp(String columnName, Calendar cal) 以 Java 編程語言中 java.sql.Timestamp 對象的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
int |
getType() 檢索此 ResultSet 對象的類型。 |
InputStream |
getUnicodeStream(int columnIndex) 已過時。 使用 getCharacterStream 取代 getUnicodeStream |
InputStream |
getUnicodeStream(String columnName) 已過時。 使用 getCharacterStream 代替 |
URL |
getURL(int columnIndex) 以 Java 編程語言中 java.net.URL 對象的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
URL |
getURL(String columnName) 以 Java 編程語言中 java.net.URL 對象的形式檢索此 ResultSet 對象的當前行中指定列的值。 |
SQLWarning |
getWarnings() 檢索此 ResultSet 對象上的調用報告的第一個警告。 |
void |
insertRow() 將插入行的內容插入到此 ResultSet 對象和數據庫中。 |
boolean |
isAfterLast() 檢索指針是否位於此 ResultSet 對象的最后一行之后。 |
boolean |
isBeforeFirst() 檢索指針是否位於此 ResultSet 對象的第一行之前。 |
boolean |
isFirst() 檢索指針是否位於此 ResultSet 對象的第一行。 |
boolean |
isLast() 檢索指針是否位於此 ResultSet 對象的最后一行。 |
boolean |
last() 將指針移動到此 ResultSet 對象的最后一行。 |
void |
moveToCurrentRow() 將指針移動到記住的指針位置,通常為當前行。 |
void |
moveToInsertRow() 將指針移動到插入行。 |
boolean |
next() 將指針從當前位置下移一行。 |
boolean |
previous() 將指針移動到此 ResultSet 對象的上一行。 |
void |
refreshRow() 用數據庫中的最近值刷新當前行。 |
boolean |
relative(int rows) 按相對行數(或正或負)移動指針。 |
boolean |
rowDeleted() 檢索是否已刪除某行。 |
boolean |
rowInserted() 檢索當前行是否已有插入。 |
boolean |
rowUpdated() 檢索是否已更新當前行。 |
void |
setFetchDirection(int direction) 設置此 ResultSet 對象中行的處理方向。 |
void |
setFetchSize(int rows) 為 JDBC 驅動程序設置此 ResultSet 對象需要更多行時應該從數據庫獲取的行數。 |
void |
updateArray(int columnIndex, Array x) 用 java.sql.Array 值更新指定列。 |
void |
updateArray(String columnName, Array x) 用 java.sql.Array 值更新指定列。 |
void |
updateAsciiStream(int columnIndex, InputStream x, int length) 用 ascii 流值更新指定列。 |
void |
updateAsciiStream(String columnName, InputStream x, int length) 用 ascii 流值更新指定列。 |
void |
updateBigDecimal(int columnIndex, BigDecimal x) 用 java.math.BigDecimal 值更新指定列。 |
void |
updateBigDecimal(String columnName, BigDecimal x) 用 java.sql.BigDecimal 值更新指定列。 |
void |
updateBinaryStream(int columnIndex, InputStream x, int length) 用二進制流值更新指定列。 |
void |
updateBinaryStream(String columnName, InputStream x, int length) 用二進制流值更新指定列。 |
void |
updateBlob(int columnIndex, Blob x) 用 java.sql.Blob 值更新指定列。 |
void |
updateBlob(String columnName, Blob x) 用 java.sql.Blob 值更新指定列。 |
void |
updateBoolean(int columnIndex, boolean x) 用 boolean 值更新指定列。 |
void |
updateBoolean(String columnName, boolean x) 用 boolean 值更新指定列。 |
void |
updateByte(int columnIndex, byte x) 用 byte 值更新指定列。 |
void |
updateByte(String columnName, byte x) 用 byte 值更新指定列。 |
void |
updateBytes(int columnIndex, byte[] x) 用 byte 數組值更新指定列。 |
void |
updateBytes(String columnName, byte[] x) 用字節數組值更新指定列。 |
void |
updateCharacterStream(int columnIndex, Reader x, int length) 用字符流值更新指定列。 |
void |
updateCharacterStream(String columnName, Reader reader, int length) 用字符流值更新指定列。 |
void |
updateClob(int columnIndex, Clob x) 用 java.sql.Clob 值更新指定列。 |
void |
updateClob(String columnName, Clob x) 用 java.sql.Clob 值更新指定列。 |
void |
updateDate(int columnIndex, Date x) 用 java.sql.Date 值更新指定列。 |
void |
updateDate(String columnName, Date x) 用 java.sql.Date 值更新指定列。 |
void |
updateDouble(int columnIndex, double x) 用 double 值更新指定列。 |
void |
updateDouble(String columnName, double x) 用 double 值更新指定列。 |
void |
updateFloat(int columnIndex, float x) 用 float 值更新指定列。 |
void |
updateFloat(String columnName, float x) 用 float 值更新指定列。 |
void |
updateInt(int columnIndex, int x) 用 int 值更新指定列。 |
void |
updateInt(String columnName, int x) 用 int 值更新指定列。 |
void |
updateLong(int columnIndex, long x) 用 long 值更新指定列。 |
void |
updateLong(String columnName, long x) 用 long 值更新指定列。 |
void |
updateNull(int columnIndex) 為可以為 null 的列提供 null 值。 |
void |
updateNull(String columnName) 用 null 值更新指定列。 |
void |
updateObject(int columnIndex, Object x) 用 Object 值更新指定列。 |
void |
updateObject(int columnIndex, Object x, int scale) 用 Object 值更新指定列。 |
void |
updateObject(String columnName, Object x) 用 Object 值更新指定列。 |
void |
updateObject(String columnName, Object x, int scale) 用 Object 值更新指定列。 |
void |
updateRef(int columnIndex, Ref x) 用 java.sql.Ref 值更新指定列。 |
void |
updateRef(String columnName, Ref x) 用 java.sql.Ref 值更新指定列。 |
void |
updateRow() 用此 ResultSet 對象的當前行的新內容更新底層數據庫。 |
void |
updateShort(int columnIndex, short x) 用 short 值更新指定列。 |
void |
updateShort(String columnName, short x) 用 short 值更新指定列。 |
void |
updateString(int columnIndex, String x) 用 String 值更新指定列。 |
void |
updateString(String columnName, String x) 用 String 值更新指定列。 |
void |
updateTime(int columnIndex, Time x) 用 java.sql.Time 值更新指定列。 |
void |
updateTime(String columnName, Time x) 用 java.sql.Time 值更新指定列。 |
void |
updateTimestamp(int columnIndex, Timestamp x) 用 java.sql.Timestamp 值更新指定列。 |
void |
updateTimestamp(String columnName, Timestamp x) 用 java.sql.Timestamp 值更新指定列。 |
boolean |
wasNull() 報告最后一個讀取的列是否具有值 SQL NULL。 |
| 字段詳細信息 |
|---|
FETCH_FORWARD
static final int FETCH_FORWARD
-
該常量指示將按正向(即從第一個到最后一個)處理結果集中的行。
setFetchDirection方法將此常量用作驅動程序的提示,驅動程序可能忽略它。- 從以下版本開始:
- 1.2
- 另請參見:
- 常量字段值
FETCH_REVERSE
static final int FETCH_REVERSE
-
該常量指示將按反向(即從最后一個到第一個)處理結果集中的行處理。
setFetchDirection方法將此常量用作驅動程序的提示,驅動程序可能忽略它。- 從以下版本開始:
- 1.2
- 另請參見:
- 常量字段值
FETCH_UNKNOWN
static final int FETCH_UNKNOWN
-
該常量指示結果集中的行的處理順序未知。
setFetchDirection方法將此常量用作驅動程序的提示,驅動程序可能忽略它。- 另請參見:
- 常量字段值
TYPE_FORWARD_ONLY
static final int TYPE_FORWARD_ONLY
-
該常量指示指針只能向前移動的
ResultSet對象的類型。- 從以下版本開始:
- 1.2
- 另請參見:
- 常量字段值
TYPE_SCROLL_INSENSITIVE
static final int TYPE_SCROLL_INSENSITIVE
-
該常量指示可滾動但通常不受其他的更改影響的
ResultSet對象的類型。- 從以下版本開始:
- 1.2
- 另請參見:
- 常量字段值
TYPE_SCROLL_SENSITIVE
static final int TYPE_SCROLL_SENSITIVE
-
該常量指示可滾動並且通常受其他的更改影響的
ResultSet對象的類型。- 從以下版本開始:
- 1.2
- 另請參見:
- 常量字段值
CONCUR_READ_ONLY
static final int CONCUR_READ_ONLY
-
該常量指示不可以更新的
ResultSet對象的並發模式。- 從以下版本開始:
- 1.2
- 另請參見:
- 常量字段值
CONCUR_UPDATABLE
static final int CONCUR_UPDATABLE
-
該常量指示可以更新的
ResultSet對象的並發模式。- 從以下版本開始:
- 1.2
- 另請參見:
- 常量字段值
HOLD_CURSORS_OVER_COMMIT
static final int HOLD_CURSORS_OVER_COMMIT
-
該常量指示調用
Connection.commit方法時不應關閉ResultSet對象。- 從以下版本開始:
- 1.4
- 另請參見:
- 常量字段值
CLOSE_CURSORS_AT_COMMIT
static final int CLOSE_CURSORS_AT_COMMIT
-
該常量指示調用
Connection.commit方法時應該關閉ResultSet對象。- 從以下版本開始:
- 1.4
- 另請參見:
- 常量字段值
| 方法詳細信息 |
|---|
next
boolean next()
throws SQLException
-
將指針從當前位置下移一行。
ResultSet指針最初位於第一行之前;第一次調用next方法使第一行成為當前行;第二次調用使第二行成為當前行,依此類推。如果開啟了對當前行的輸入流,則調用
next方法將隱式關閉它。讀取新行時,將清除ResultSet對象的警告鏈。 -
- 返回:
-
如果新的當前行有效,則返回
true;如果不存在下一行,則返回false - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤
close
void close()
throws SQLException
-
立即釋放此
ResultSet對象的數據庫和 JDBC 資源,而不是等待該對象自動關閉時發生此操作。注:當生成
ResultSet對象的Statement對象關閉、重新執行或用來從多個結果的序列檢索下一個結果時,該Statement對象會自動關閉ResultSet對象。垃圾回收ResultSet對象時它也會自動關閉。 -
- 拋出:
-
SQLException- 如果發生數據庫訪問錯誤
wasNull
boolean wasNull()
throws SQLException
-
報告最后一個讀取的列是否具有值 SQL
NULL。注意,必須首先對列調用一個獲取方法來嘗試讀取其值,然后調用wasNull方法查看讀取的值是否為 SQLNULL。 -
- 返回:
-
如果最后一個讀取的列值為 SQL
NULL,則返回true;否則返回false - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤
getString
String getString(int columnIndex) throws SQLException
-
以 Java 編程語言中
String的形式檢索此ResultSet對象的當前行中指定列的值。 -
- 參數:
-
columnIndex- 第一個列是 1,第二個列是 2,…… - 返回:
-
列值;如果值為 SQL
NULL,則返回值為null - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤
getBoolean
boolean getBoolean(int columnIndex)
throws SQLException
-
以 Java 編程語言中
boolean的形式檢索此ResultSet對象的當前行中指定列的值。 -
- 參數:
-
columnIndex- 第一個列是 1,第二個列是 2,…… - 返回:
-
列值;如果值為 SQL
NULL,則返回值為false - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤
getByte
byte getByte(int columnIndex)
throws SQLException
-
以 Java 編程語言中
byte的形式檢索此ResultSet對象的當前行中指定列的值。 -
- 參數:
-
columnIndex- 第一個列是 1,第二個列是 2,…… - 返回:
-
列值;如果值為 SQL
NULL,則返回值為0 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤
getShort
short getShort(int columnIndex)
throws SQLException
-
以 Java 編程語言中
short的形式檢索此ResultSet對象的當前行中指定列的值。 -
- 參數:
-
columnIndex- 第一個列是 1,第二個列是 2,…… - 返回:
-
列值;如果值為 SQL
NULL,則返回值為0 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤
getInt
int getInt(int columnIndex)
throws SQLException
-
以 Java 編程語言中
int的形式檢索此ResultSet對象的當前行中指定列的值。 -
- 參數:
-
columnIndex- 第一個列是 1,第二個列是 2,…… - 返回:
-
列值;如果值為 SQL
NULL,則返回值為0 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤
getLong
long getLong(int columnIndex)
throws SQLException
-
以 Java 編程語言中
long的形式檢索此ResultSet對象的當前行中指定列的值。 -
- 參數:
-
columnIndex- 第一個列是 1,第二個列是 2,…… - 返回:
-
列值;如果值為 SQL
NULL,則返回值為0 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤
getFloat
float getFloat(int columnIndex)
throws SQLException
-
以 Java 編程語言中
float的形式檢索此ResultSet對象的當前行中指定列的值。 -
- 參數:
-
columnIndex- 第一個列是 1,第二個列是 2,…… - 返回:
-
列值;如果值為 SQL
NULL,則返回值為0 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤
getDouble
double getDouble(int columnIndex)
throws SQLException
-
以 Java 編程語言中
double的形式檢索此ResultSet對象的當前行中指定列的值。 -
- 參數:
-
columnIndex- 第一個列是 1,第二個列是 2,…… - 返回:
-
列值;如果值為 SQL
NULL,則返回值為0 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤
getBigDecimal
@Deprecated BigDecimal getBigDecimal(int columnIndex, int scale) throws SQLException
-
已過時。
-
以 Java 編程語言中
java.sql.BigDecimal的形式檢索此ResultSet對象的當前行中指定列的值。 -
- 參數:
-
columnIndex- 第一個列是 1,第二個列是 2,…… -
scale- 小數點右邊的位數 - 返回:
-
列值;如果值為 SQL
NULL,則返回值為null - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤
getBytes
byte[] getBytes(int columnIndex)
throws SQLException
-
以 Java 編程語言中
byte數組的形式檢索此ResultSet對象的當前行中指定列的值。這些字節表示驅動程序返回的原始值。 -
- 參數:
-
columnIndex- 第一個列是 1,第二個列是 2,…… - 返回:
-
列值;如果值為 SQL
NULL,則返回值為null - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤
getDate
Date getDate(int columnIndex) throws SQLException
-
以 Java 編程語言中
java.sql.Date對象的形式檢索此ResultSet對象的當前行中指定列的值。 -
- 參數:
-
columnIndex- 第一個列是 1,第二個列是 2,…… - 返回:
-
列值;如果值為 SQL
NULL,則返回值為null - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤
getTime
Time getTime(int columnIndex) throws SQLException
-
以 Java 編程語言中
java.sql.Time對象的形式檢索此ResultSet對象的當前行中指定列的值。 -
- 參數:
-
columnIndex- 第一個列是 1,第二個列是 2,…… - 返回:
-
列值;如果值為 SQL
NULL,則返回值為null - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤
getTimestamp
Timestamp getTimestamp(int columnIndex) throws SQLException
-
以 Java 編程語言中
java.sql.Timestamp對象的形式檢索此ResultSet對象的當前行中指定列的值。 -
- 參數:
-
columnIndex- 第一個列是 1,第二個列是 2,…… - 返回:
-
列值;如果值為 SQL
NULL,則返回值為null - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤
getAsciiStream
InputStream getAsciiStream(int columnIndex) throws SQLException
-
以 ASCII 字符流的形式檢索此
ResultSet對象的當前行中指定列的值。然后,可以按塊從流中讀取值。此方法尤其適合於檢索很大的 LONGVARCHAR 值。JDBC 驅動程序將執行從數據庫格式到 ASCII 的任何必要轉換。注:在獲取任何其他列的值之前必須讀取返回流中的所有數據。下一次調用獲取方法將隱式關閉該流。此外,當調用
InputStream.available方法時,不管是否存在可用數據,流都可能返回0。 -
- 參數:
-
columnIndex- 第一個列是 1,第二個列是 2,…… - 返回:
-
以一字節 ASCII 字符流的形式返回傳遞數據庫列值的 Java 輸入流;如果值為 SQL
NULL,則返回值為null - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤
getUnicodeStream
@Deprecated InputStream getUnicodeStream(int columnIndex) throws SQLException
-
已過時。
使用
getCharacterStream取代getUnicodeStream -
以兩字節 Unicode 字符流的形式檢索此
ResultSet對象的當前行中指定列的值。第一個字節是高字節;第二個字節是低字節。然后,可以按塊從流中讀取值。此方法尤其適合於檢索很大的LONGVARCHAR值。JDBC 驅動程序將執行從數據庫格式到 Unicode 的任何必要轉換。注:在獲取任何其他列的值之前必須讀取返回流中的所有數據。下一次調用獲取方法將隱式關閉該流。此外,當調用
InputStream.available方法時,不管是否存在可用數據,流都可能返回0。 -
- 參數:
-
columnIndex- 第一個列是 1,第二個列是 2,…… - 返回:
-
以兩字節 Unicode 字符流的形式返回傳遞數據庫列值的 Java 輸入流;如果值為 SQL
NULL,則返回值為null - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤
getBinaryStream
InputStream getBinaryStream(int columnIndex) throws SQLException
-
以未解釋字節的二進制流的形式檢索此
ResultSet對象的當前行中指定列的值。然后,可以按塊從流中讀取值。此方法尤其適合於檢索很大的LONGVARBINARY值。注:在獲取任何其他列的值之前必須讀取返回流中的所有數據。下一次調用獲取方法將隱式關閉該流。此外,當調用
InputStream.available方法時,不管是否存在可用數據,流都可能返回0。 -
- 參數:
-
columnIndex- 第一個列是 1,第二個列是 2,…… - 返回:
-
以未解釋字節的流的形式返回傳遞數據庫列值的 Java 輸入流;如果值為 SQL
NULL,則返回值為null - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤
getString
String getString(String columnName) throws SQLException
-
以 Java 編程語言中
String的形式檢索此ResultSet對象的當前行中指定列的值。 -
- 參數:
-
columnName- 列的 SQL 名稱 - 返回:
-
列值;如果值為 SQL
NULL,則返回值為null - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤
getBoolean
boolean getBoolean(String columnName) throws SQLException
-
以 Java 編程語言中
boolean的形式檢索此ResultSet對象的當前行中指定列的值。 -
- 參數:
-
columnName- 列的 SQL 名稱 - 返回:
-
列值;如果值為 SQL
NULL,則返回值為false - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤
getByte
byte getByte(String columnName) throws SQLException
-
以 Java 編程語言中
byte的形式檢索此ResultSet對象的當前行中指定列的值。 -
- 參數:
-
columnName- 列的 SQL 名稱 - 返回:
-
列值;如果值為 SQL
NULL,則返回值為0 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤
getShort
short getShort(String columnName) throws SQLException
-
以 Java 編程語言中
short的形式檢索此ResultSet對象的當前行中指定列的值。 -
- 參數:
-
columnName- 列的 SQL 名稱 - 返回:
-
列值;如果值為 SQL
NULL,則返回值為0 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤
getInt
int getInt(String columnName) throws SQLException
-
以 Java 編程語言中
int的形式檢索此ResultSet對象的當前行中指定列的值。 -
- 參數:
-
columnName- 列的 SQL 名稱 - 返回:
-
列值;如果值為 SQL
NULL,則返回值為0 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤
getLong
long getLong(String columnName) throws SQLException
-
以 Java 編程語言中
long的形式檢索此ResultSet對象的當前行中指定列的值。 -
- 參數:
-
columnName- 列的 SQL 名稱 - 返回:
-
列值;如果值為 SQL
NULL,則返回值為0 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤
getFloat
float getFloat(String columnName) throws SQLException
-
以 Java 編程語言中
float的形式檢索此ResultSet對象的當前行中指定列的值。 -
- 參數:
-
columnName- 列的 SQL 名稱 - 返回:
-
列值;如果值為 SQL
NULL,則返回值為0 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤
getDouble
double getDouble(String columnName) throws SQLException
-
以 Java 編程語言中
double的形式檢索此ResultSet對象的當前行中指定列的值。 -
- 參數:
-
columnName- 列的 SQL 名稱 - 返回:
-
列值;如果值為 SQL
NULL,則返回值為0 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤
getBigDecimal
@Deprecated BigDecimal getBigDecimal(String columnName, int scale) throws SQLException
-
已過時。
-
以 Java 編程語言中
java.math.BigDecimal的形式檢索此ResultSet對象的當前行中指定列的值。 -
- 參數:
-
columnName- 列的 SQL 名稱 -
scale- 小數點右邊的位數 - 返回:
-
列值;如果值為 SQL
NULL,則返回值為null - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤
getBytes
byte[] getBytes(String columnName) throws SQLException
-
以 Java 編程語言中
byte數組的形式檢索此ResultSet對象的當前行中指定列的值。這些字節表示驅動程序返回的原始值。 -
- 參數:
-
columnName- 列的 SQL 名稱 - 返回:
-
列值;如果值為 SQL
NULL,則返回值為null - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤
getDate
Date getDate(String columnName) throws SQLException
-
以 Java 編程語言中的
java.sql.Date對象的形式檢索此ResultSet對象的當前行中指定列的值。 -
- 參數:
-
columnName- 列的 SQL 名稱 - 返回:
-
列值;如果值為 SQL
NULL,則返回值為null - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤
getTime
Time getTime(String columnName) throws SQLException
-
以 Java 編程語言中
java.sql.Time對象的形式檢索此ResultSet對象的當前行中指定列的值。 -
- 參數:
-
columnName- 列的 SQL 名稱 - 返回:
-
列值;如果值為 SQL
NULL,則返回值為null - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤
getTimestamp
Timestamp getTimestamp(String columnName) throws SQLException
-
以
java.sql.Timestamp對象的形式檢索此ResultSet對象的當前行中指定列的值。 -
- 參數:
-
columnName- 列的 SQL 名稱 - 返回:
-
列值;如果值為 SQL
NULL,則返回值為null - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤
getAsciiStream
InputStream getAsciiStream(String columnName) throws SQLException
-
以 ASCII 字符流的形式檢索此
ResultSet對象的當前行中指定列的值。然后,可以按塊從流中讀取值。此方法尤其適合於檢索很大的LONGVARCHAR值。JDBC 驅動程序將執行從數據庫格式到 ASCII 的任何必要轉換。注:在獲取任何其他列的值之前必須讀取返回流中的所有數據。下一次調用獲取方法將隱式關閉該流。此外,當調用
available方法時,不管是否存在可用數據,流都可能返回0。 -
- 參數:
-
columnName- 列的 SQL 名稱 - 返回:
-
以一字節 ASCII 字符流的形式返回傳遞數據庫列值的 Java 輸入流。如果值為 SQL
NULL,則返回值為null。 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤
getUnicodeStream
@Deprecated InputStream getUnicodeStream(String columnName) throws SQLException
-
已過時。
使用
getCharacterStream代替 -
以兩字節 Unicode 字符流的形式檢索此
ResultSet對象的當前行中指定列的值。第一個字節是高字節;第二個字節是低字節。然后,可以按塊從流中讀取值。此方法尤其適合於檢索很大的LONGVARCHAR值。采用 JDBC 技術的驅動程序將執行從數據庫格式到 Unicode 的任何必要轉換。注:在獲取任何其他列的值之前必須讀取返回流中的所有數據。下一次調用獲取方法將隱式關閉該流。此外,當調用
InputStream.available方法時,不管是否存在可用數據,流都可能返回0。 -
- 參數:
-
columnName- 列的 SQL 名稱 - 返回:
-
以兩字節 Unicode 字符流的形式返回傳遞數據庫列值的 Java 輸入流。如果值為 SQL
NULL,則返回值為null。 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤
getBinaryStream
InputStream getBinaryStream(String columnName) throws SQLException
-
以未解釋的
byte流的形式檢索此ResultSet對象的當前行中指定列的值。然后可以按塊從流中讀取該值。此方法尤其適合於檢索很大的LONGVARBINARY值。注:在獲取任何其他列的值之前必須讀取返回流中的所有數據。下一次調用獲取方法將隱式關閉該流。此外,當調用
available方法時,不管是否存在可用數據,流都可能返回0。 -
- 參數:
-
columnName- 列的 SQL 名稱 - 返回:
-
以未解釋字節流的形式返回傳遞數據庫列值的 Java 輸入流;如果值為 SQL
NULL,則返回值為null - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤
getWarnings
SQLWarning getWarnings() throws SQLException
-
檢索此
ResultSet對象上的調用報告的第一個警告。此ResultSet對象上的后續警告會被鏈接到此方法返回的SQLWarning對象。每次讀取新行時,都會自動清除警告鏈。不可以在已經關閉的
ResultSet對象上調用此方法;這樣做將導致拋出SQLException。注:此警告鏈僅包含
ResultSet方法產生的警告。Statement方法(如讀取 OUT 參數)產生的任何警告都將鏈接在Statement對象上。 -
- 返回:
-
報告的第一個
SQLWarning對象;如果不存在,則返回null - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤或者在關閉的結果集上調用此方法
clearWarnings
void clearWarnings()
throws SQLException
-
清除在此
ResultSet對象上報告的所有警告。調用此方法后,在為此ResultSet對象報告新的警告之前,getWarnings方法將返回null。 -
- 拋出:
-
SQLException- 如果發生數據庫訪問錯誤
getCursorName
String getCursorName() throws SQLException
-
檢索此
ResultSet對象使用的 SQL 指針的名稱。在 SQL 中,通過命名的指針檢索結果表。通過一個引用指針名稱來確定位置的更新/刪除語句,可以更新或刪除結果集的當前行。為了確保指針具有支持更新的適當隔離級別,指針的
SELECT語句的形式應該為SELECT FOR UPDATE。如果省略FOR UPDATE,則定位更新可能失敗。JDBC API 通過提供
ResultSet對象使用的 SQL 指針的名稱支持此 SQL 功能。ResultSet對象的當前行也是此 SQL 指針的當前行。注:如果不支持定位更新,則拋出
SQLException。 -
- 返回:
-
此
ResultSet對象的指針的 SQL 名稱 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤
getMetaData
ResultSetMetaData getMetaData() throws SQLException
-
檢索此
ResultSet對象的列的編號、類型和屬性。 -
- 返回:
-
此
ResultSet對象的列的描述 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤
getObject
Object getObject(int columnIndex) throws SQLException
-
以 Java 編程語言中
Object的形式獲取此ResultSet對象的當前行中指定列的值。此方法將以 Java 對象的形式返回給定列的值。Java 對象的類型將為與該列的 SQL 類型相對應的默認 Java 對象類型,它遵守在 JDBC 規范中指定的內置類型的映射關系。如果值為 SQL
NULL,則驅動程序返回一個 Javanull。此方法還可用於讀取特定於數據庫的抽象數據類型。在 JDBC 2.0 API 中,可以擴展
getObject方法的行為來實現 SQL 自定義類型的數據。當列包含結構化的或獨特的值時,此方法的行為類似於調用:getObject(columnIndex, this.getStatement().getConnection().getTypeMap())。 -
- 參數:
-
columnIndex- 第一個列是 1,第二個列是 2,…… - 返回:
-
保存列值的
java.lang.Object - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤
getObject
Object getObject(String columnName) throws SQLException
-
以 Java 編程語言中
Object的形式獲取此ResultSet對象的當前行中指定列的值。此方法將以 Java 對象的形式返回給定列的值。Java 對象的類型將為與該列的 SQL 類型相對應的默認 Java 對象類型,它遵守在 JDBC 規范中指定的內置類型的映射關系。如果值為 SQL
NULL,則驅動程序返回一個 Javanull。此方法還可用於讀取特定於數據庫的抽象數據類型。
在 JDBC 2.0 API 中,可以擴展
getObject方法的行為來實現 SQL 自定義類型的數據。當列包含結構化的或獨特的值時,此方法的行為類似於調用:getObject(columnIndex, this.getStatement().getConnection().getTypeMap())。 -
- 參數:
-
columnName- 列的 SQL 名稱 - 返回:
-
保存列值的
java.lang.Object - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤
findColumn
int findColumn(String columnName) throws SQLException
-
將給定的
ResultSet列名稱映射到其ResultSet列索引。 -
- 參數:
-
columnName- 列的名稱 - 返回:
- 給定列名稱的列索引
- 拋出:
-
SQLException- 如果ResultSet對象不包含columnName或者發生數據庫訪問錯誤
getCharacterStream
Reader getCharacterStream(int columnIndex) throws SQLException
-
以
java.io.Reader對象的形式檢索此ResultSet對象的當前行中指定列的值。 -
- 參數:
-
columnIndex- 第一個列是 1,第二個列是 2,…… - 返回:
-
包含列值的
java.io.Reader對象;如果值為 SQLNULL,則返回值為 Java 編程語言中的null。 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
getCharacterStream
Reader getCharacterStream(String columnName) throws SQLException
-
以
java.io.Reader對象的形式檢索此ResultSet對象的當前行中指定列的值。 -
- 參數:
-
columnName- 列的名稱 - 返回:
-
包含列值的
java.io.Reader對象;如果值為 SQLNULL,則返回值為 Java 編程語言中的null - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
getBigDecimal
BigDecimal getBigDecimal(int columnIndex) throws SQLException
-
以具有全精度的
java.math.BigDecimal的形式檢索此ResultSet對象的當前行中指定列的值。 -
- 參數:
-
columnIndex- 第一個列是 1,第二個列是 2,…… - 返回:
-
列值(全精度);如果值為 SQL
NULL,則返回值為 Java 編程語言中的null。 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
getBigDecimal
BigDecimal getBigDecimal(String columnName) throws SQLException
-
以具有全精度的
java.math.BigDecimal的形式檢索此ResultSet對象的當前行中指定列的值。 -
- 參數:
-
columnName- 列名稱 - 返回:
-
列值(全精度);如果值為 SQL
NULL,則返回值為 Java 編程語言中的null。 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
isBeforeFirst
boolean isBeforeFirst()
throws SQLException
-
檢索指針是否位於此
ResultSet對象的第一行之前。 -
- 返回:
-
如果指針位於第一行之前,則返回
true;如果指針位於任何其他位置或者結果集不包含任何行,則返回false - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
isAfterLast
boolean isAfterLast()
throws SQLException
-
檢索指針是否位於此
ResultSet對象的最后一行之后。 -
- 返回:
-
如果指針位於最后一行之后,則返回
true;如果指針位於任何其他位置或者結果集不包含任何行,則返回false - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
isFirst
boolean isFirst()
throws SQLException
-
檢索指針是否位於此
ResultSet對象的第一行。 -
- 返回:
-
如果指針位於第一行,則返回
true;否則返回false - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
isLast
boolean isLast()
throws SQLException
-
檢索指針是否位於此
ResultSet對象的最后一行。注:調用isLast方法可能開銷很大,因為 JDBC 驅動程序可能需要再往后獲取一行,以確定當前行是否為結果集中的最后一行。 -
- 返回:
-
如果指針位於最后一行上,則返回
true;否則返回false - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
beforeFirst
void beforeFirst()
throws SQLException
-
將指針移動到此
ResultSet對象的開頭,正好位於第一行之前。如果結果集中不包含任何行,則此方法無效。 -
- 拋出:
-
SQLException- 如果發生數據庫訪問錯誤或者結果集類型為TYPE_FORWARD_ONLY - 從以下版本開始:
- 1.2
afterLast
void afterLast()
throws SQLException
-
將指針移動到此
ResultSet對象的末尾,正好位於最后一行之后。如果結果集中不包含任何行,則此方法無效。 -
- 拋出:
-
SQLException- 如果發生數據庫訪問錯誤或者結果集類型為TYPE_FORWARD_ONLY - 從以下版本開始:
- 1.2
first
boolean first()
throws SQLException
-
將指針移動到此
ResultSet對象的第一行。 -
- 返回:
-
如果指針位於有效行,則返回
true;如果結果集中不存在任何行,則返回false - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤或者結果集類型為TYPE_FORWARD_ONLY - 從以下版本開始:
- 1.2
last
boolean last()
throws SQLException
-
將指針移動到此
ResultSet對象的最后一行。 -
- 返回:
-
如果指針位於有效行,則返回
true;如果結果集中不存在任何行,則返回false - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤或者結果集類型為TYPE_FORWARD_ONLY - 從以下版本開始:
- 1.2
getRow
int getRow()
throws SQLException
-
檢索當前行編號。第一行為 1 號,第二行為 2 號,依此類推。
-
- 返回:
-
當前行的編號;如果不存在當前行,則返回
0 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
absolute
boolean absolute(int row)
throws SQLException
-
將指針移動到此
ResultSet對象的給定行編號。如果行編號為正,則將指針移動到相對於結果集開頭的給定行編號。第一行為行 1,第二行為行 2,依此類推。
如果給定行編號為負,則將指針移動到相對於結果集末尾的絕對行位置。例如,調用方法
absolute(-1)將指針置於最后一行;調用方法absolute(-2)將指針移動到倒數第二行,依此類推。試圖將指針置於結果集的第一行/最后一行之外將導致指針位於第一行之前或最后一行之后。
注:調用
absolute(1)等效於調用first()。調用absolute(-1)等效於調用last()。 -
- 參數:
-
row- 指針應該移動到的行的編號。正的編號指示從結果集開頭開始計數的行編號;負的編號指示從結果集末尾開始計數的行編號 - 返回:
-
如果指針位於結果集上,則返回
true;否則返回false - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤或者結果集類型為TYPE_FORWARD_ONLY - 從以下版本開始:
- 1.2
relative
boolean relative(int rows)
throws SQLException
-
按相對行數(或正或負)移動指針。試圖移動到結果集的第一行/最后一行之外,會將指針置於第一行之前或最后一行之后。調用
relative(0)有效,但是不更改指針位置。注:調用方法
relative(1)等效於調用方法next(),而調用方法relative(-1)等效於調用方法previous()。 -
- 參數:
-
rows- 指定從當前行開始移動的行數的int;正數表示指針向前移動;負數表示指針向后移動 - 返回:
-
如果指針位於行上,則返回
true;否則返回false - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤、不存在當前行或者結果集類型為TYPE_FORWARD_ONLY - 從以下版本開始:
- 1.2
previous
boolean previous()
throws SQLException
-
將指針移動到此
ResultSet對象的上一行。 -
- 返回:
-
如果指針位於有效行上,則返回
true;如果它不在結果集中,則返回false - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤或者結果集類型為TYPE_FORWARD_ONLY - 從以下版本開始:
- 1.2
setFetchDirection
void setFetchDirection(int direction)
throws SQLException
-
設置此
ResultSet對象中行的處理方向。初始值由生成此ResultSet對象的Statement對象確定。獲取方向可以在任何時間更改。 -
- 參數:
-
direction- 指定建議獲取方向的int;ResultSet.FETCH_FORWARD、ResultSet.FETCH_REVERSE或ResultSet.FETCH_UNKNOWN之一 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤,或者結果集類型為TYPE_FORWARD_ONLY但獲取方向不是FETCH_FORWARD - 從以下版本開始:
- 1.2
- 另請參見:
-
Statement.setFetchDirection(int),getFetchDirection()
getFetchDirection
int getFetchDirection()
throws SQLException
-
檢索此
ResultSet對象的獲取方向。 -
- 返回:
-
此
ResultSet對象的當前獲取方向 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
- 另請參見:
-
setFetchDirection(int)
setFetchSize
void setFetchSize(int rows)
throws SQLException
-
為 JDBC 驅動程序設置此
ResultSet對象需要更多行時應該從數據庫獲取的行數。如果指定的獲取大小為零,則 JDBC 驅動程序忽略該值,隨意對獲取大小作出它自己的最佳猜測。默認值由創建結果集的Statement對象設置。獲取大小可以在任何時間更改。 -
- 參數:
-
rows- 要獲取的行數 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤或者不滿足條件0 <= rows <= Statement.getMaxRows() - 從以下版本開始:
- 1.2
- 另請參見:
-
getFetchSize()
getFetchSize
int getFetchSize()
throws SQLException
-
檢索此
ResultSet對象的獲取大小。 -
- 返回:
-
此
ResultSet對象的當前獲取大小 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
- 另請參見:
-
setFetchSize(int)
getType
int getType()
throws SQLException
-
檢索此
ResultSet對象的類型。類型由創建結果集的Statement對象確定。 -
- 返回:
-
ResultSet.TYPE_FORWARD_ONLY、ResultSet.TYPE_SCROLL_INSENSITIVE或ResultSet.TYPE_SCROLL_SENSITIVE - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
getConcurrency
int getConcurrency()
throws SQLException
-
檢索此
ResultSet對象的並發模式。使用的並發由創建結果集的Statement對象確定。 -
- 返回:
-
並發類型,
ResultSet.CONCUR_READ_ONLY或ResultSet.CONCUR_UPDATABLE - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
rowUpdated
boolean rowUpdated()
throws SQLException
-
檢索是否已更新當前行。返回值取決於結果集是否可以檢測到更新。
-
- 返回:
-
如果 (1) 所有者或其他人已對行進行可見更新 (2) 可以檢測到更新都成立,則返回
true - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
- 另請參見:
-
DatabaseMetaData.updatesAreDetected(int)
rowInserted
boolean rowInserted()
throws SQLException
-
檢索當前行是否已有插入。返回值取決於此
ResultSet對象是否可以檢測到可見插入。 -
- 返回:
-
如果行已有插入並且檢測到插入,則返回
true;否則返回false - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
- 另請參見:
-
DatabaseMetaData.insertsAreDetected(int)
rowDeleted
boolean rowDeleted()
throws SQLException
-
檢索是否已刪除某行。刪除的行可能在結果集中留下一個可見的“洞”。此方法可用於檢測結果集中的洞。返回值取決於此
ResultSet對象是否可以檢測到刪除。 -
- 返回:
-
如果刪除了行並且檢測到刪除,則返回
true;否則返回false - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
- 另請參見:
-
DatabaseMetaData.deletesAreDetected(int)
updateNull
void updateNull(int columnIndex)
throws SQLException
-
為可以為 null 的列提供 null 值。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用
updateRow或insertRow方法。 -
- 參數:
-
columnIndex- 第一個列是 1,第二個列是 2,…… - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateBoolean
void updateBoolean(int columnIndex,
boolean x)
throws SQLException
-
用
boolean值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow或insertRow方法。 -
- 參數:
-
columnIndex- 第一個列是 1,第二個列是 2,…… -
x- 新列值 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateByte
void updateByte(int columnIndex,
byte x)
throws SQLException
-
用
byte值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow或insertRow方法。 -
- 參數:
-
columnIndex- 第一個列是 1,第二個列是 2,…… -
x- 新列值 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateShort
void updateShort(int columnIndex,
short x)
throws SQLException
-
用
short值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow或insertRow方法。 -
- 參數:
-
columnIndex- 第一個列是 1,第二個列是 2,…… -
x- 新列值 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateInt
void updateInt(int columnIndex,
int x)
throws SQLException
-
用
int值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow或insertRow方法。 -
- 參數:
-
columnIndex- 第一個列是 1,第二個列是 2,…… -
x- 新列值 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateLong
void updateLong(int columnIndex,
long x)
throws SQLException
-
用
long值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會不更新底層數據庫;更新數據庫要調用updateRow或insertRow方法。 -
- 參數:
-
columnIndex- 第一個列是 1,第二個列是 2,…… -
x- 新列值 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateFloat
void updateFloat(int columnIndex,
float x)
throws SQLException
-
用
float值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow或insertRow方法。 -
- 參數:
-
columnIndex- 第一個列是 1,第二個列是 2,…… -
x- 新列值 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateDouble
void updateDouble(int columnIndex,
double x)
throws SQLException
-
用
double值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow或insertRow方法。 -
- 參數:
-
columnIndex- 第一個列是 1,第二個列是 2,…… -
x- 新列值 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateBigDecimal
void updateBigDecimal(int columnIndex,
BigDecimal x)
throws SQLException
-
用
java.math.BigDecimal值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow或insertRow方法。 -
- 參數:
-
columnIndex- 第一個列是 1,第二個列是 2,…… -
x- 新列值 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateString
void updateString(int columnIndex,
String x)
throws SQLException
-
用
String值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow或insertRow方法。 -
- 參數:
-
columnIndex- 第一個列是 1,第二個列是 2,…… -
x- 新列值 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateBytes
void updateBytes(int columnIndex,
byte[] x)
throws SQLException
-
用
byte數組值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow或insertRow方法。 -
- 參數:
-
columnIndex- 第一個列是 1,第二個列是 2,…… -
x- 新列值 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateDate
void updateDate(int columnIndex,
Date x)
throws SQLException
-
用
java.sql.Date值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow或insertRow方法。 -
- 參數:
-
columnIndex- 第一個列是 1,第二個列是 2,…… -
x- 新列值 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateTime
void updateTime(int columnIndex,
Time x)
throws SQLException
-
用
java.sql.Time值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow或insertRow方法。 -
- 參數:
-
columnIndex- 第一個列是 1,第二個列是 2,…… -
x- 新列值 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateTimestamp
void updateTimestamp(int columnIndex,
Timestamp x)
throws SQLException
-
用
java.sql.Timestamp值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow或insertRow方法。 -
- 參數:
-
columnIndex- 第一個列是 1,第二個列是 2,…… -
x- 新列值 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateAsciiStream
void updateAsciiStream(int columnIndex,
InputStream x,
int length)
throws SQLException
-
用 ascii 流值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用
updateRow或insertRow方法。 -
- 參數:
-
columnIndex- 第一個列是 1,第二個列是 2,…… -
x- 新列值 -
length- 流的長度 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateBinaryStream
void updateBinaryStream(int columnIndex,
InputStream x,
int length)
throws SQLException
-
用二進制流值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用
updateRow或insertRow方法。 -
- 參數:
-
columnIndex- 第一個列是 1,第二個列是 2,…… -
x- 新列值 -
length- 流的長度 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateCharacterStream
void updateCharacterStream(int columnIndex,
Reader x,
int length)
throws SQLException
-
用字符流值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用
updateRow或insertRow方法。 -
- 參數:
-
columnIndex- 第一個列是 1,第二個列是 2,…… -
x- 新列值 -
length- 流的長度 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateObject
void updateObject(int columnIndex,
Object x,
int scale)
throws SQLException
-
用
Object值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow或insertRow方法。 -
- 參數:
-
columnIndex- 第一個列是 1,第二個列是 2,…… -
x- 新列值 -
scale- 對於java.sql.Types.DECIMA或java.sql.Types.NUMERIC類型,此參數是小數點后面的位數。對於其他所有類型,將忽略此值。 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateObject
void updateObject(int columnIndex,
Object x)
throws SQLException
-
用
Object值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow或insertRow方法。 -
- 參數:
-
columnIndex- 第一個列是 1,第二個列是 2,…… -
x- 新列值 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateNull
void updateNull(String columnName) throws SQLException
-
用
null值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow或insertRow方法。 -
- 參數:
-
columnName- 列的名稱 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateBoolean
void updateBoolean(String columnName, boolean x) throws SQLException
-
用
boolean值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow或insertRow方法。 -
- 參數:
-
columnName- 列的名稱 -
x- 新列值 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateByte
void updateByte(String columnName, byte x) throws SQLException
-
用
byte值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow或insertRow方法。 -
- 參數:
-
columnName- 列的名稱 -
x- 新列值 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateShort
void updateShort(String columnName, short x) throws SQLException
-
用
short值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow或insertRow方法。 -
- 參數:
-
columnName- 列的名稱 -
x- 新列值 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateInt
void updateInt(String columnName, int x) throws SQLException
-
用
int值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow或insertRow方法。 -
- 參數:
-
columnName- 列的名稱 -
x- 新列值 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateLong
void updateLong(String columnName, long x) throws SQLException
-
用
long值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow或insertRow方法。 -
- 參數:
-
columnName- 列的名稱 -
x- 新列值 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateFloat
void updateFloat(String columnName, float x) throws SQLException
-
用
float值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow或insertRow方法。 -
- 參數:
-
columnName- 列的名稱 -
x- 新列值 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateDouble
void updateDouble(String columnName, double x) throws SQLException
-
用
double值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow或insertRow方法。 -
- 參數:
-
columnName- 列的名稱 -
x- 新列值 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateBigDecimal
void updateBigDecimal(String columnName, BigDecimal x) throws SQLException
-
用
java.sql.BigDecimal值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow或insertRow方法。 -
- 參數:
-
columnName- 列的名稱 -
x- 新列值 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateString
void updateString(String columnName, String x) throws SQLException
-
用
String值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow或insertRow方法。 -
- 參數:
-
columnName- 列的名稱 -
x- 新列值 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateBytes
void updateBytes(String columnName, byte[] x) throws SQLException
-
用字節數組值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用
updateRow或insertRow方法。 -
- 參數:
-
columnName- 列的名稱 -
x- 新列值 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateDate
void updateDate(String columnName, Date x) throws SQLException
-
用
java.sql.Date值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow或insertRow方法。 -
- 參數:
-
columnName- 列的名稱 -
x- 新列值 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateTime
void updateTime(String columnName, Time x) throws SQLException
-
用
java.sql.Time值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow或insertRow方法。 -
- 參數:
-
columnName- 列的名稱 -
x- 新列值 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateTimestamp
void updateTimestamp(String columnName, Timestamp x) throws SQLException
-
用
java.sql.Timestamp值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow或insertRow方法。 -
- 參數:
-
columnName- 列的名稱 -
x- 新列值 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateAsciiStream
void updateAsciiStream(String columnName, InputStream x, int length) throws SQLException
-
用 ascii 流值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用
updateRow或insertRow方法。 -
- 參數:
-
columnName- 列的名稱 -
x- 新列值 -
length- 流的長度 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateBinaryStream
void updateBinaryStream(String columnName, InputStream x, int length) throws SQLException
-
用二進制流值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用
updateRow或insertRow方法。 -
- 參數:
-
columnName- 列的名稱 -
x- 新列值 -
length- 流的長度 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateCharacterStream
void updateCharacterStream(String columnName, Reader reader, int length) throws SQLException
-
用字符流值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用
updateRow或insertRow方法。 -
- 參數:
-
columnName- 列的名稱 -
reader- 包含新列值的java.io.Reader對象 -
length- 流的長度 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateObject
void updateObject(String columnName, Object x, int scale) throws SQLException
-
用
Object值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow或insertRow方法。 -
- 參數:
-
columnName- 列的名稱 -
x- 新列值 -
scale- 對於java.sql.Types.DECIMAL或java.sql.Types.NUMERIC類型,此參數是小數點后面的位數。對於其他所有類型,將忽略此值。 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
updateObject
void updateObject(String columnName, Object x) throws SQLException
-
用
Object值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow或insertRow方法。 -
- 參數:
-
columnName- 列的名稱 -
x- 新列值 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
insertRow
void insertRow()
throws SQLException
-
將插入行的內容插入到此
ResultSet對象和數據庫中。調用此方法時,指針必須位於插入行上。 -
- 拋出:
-
SQLException- 如果發生數據庫訪問錯誤,如果在指針不位於插入行上時調用此方法,或者插入行中所有不可為 null 的列中還存在未分配值的列 - 從以下版本開始:
- 1.2
updateRow
void updateRow()
throws SQLException
-
用此
ResultSet對象的當前行的新內容更新底層數據庫。指針不位於插入行上時不能調用此方法。 -
- 拋出:
-
SQLException- 如果發生數據庫訪問錯誤或者在指針不位於插入行上時調用了此方法 - 從以下版本開始:
- 1.2
deleteRow
void deleteRow()
throws SQLException
-
從此
ResultSet對象和底層數據庫中刪除當前行。指針不位於插入行上時不能調用此方法。 -
- 拋出:
-
SQLException- 如果發生數據庫訪問錯誤或者在指針不位於插入行上時調用了此方法 - 從以下版本開始:
- 1.2
refreshRow
void refreshRow()
throws SQLException
-
用數據庫中的最近值刷新當前行。指針不位於插入行上時不能調用此方法。
refreshRow方法提供一種讓應用程序顯式告知 JDBC 驅動程序從數據庫重新獲取行的方式。應用程序可能需要在 JDBC 驅動程序完成緩存或預獲取操作后調用refreshRow,以便從數據庫獲取行的最新值。如果獲取大小大於 1,則 JDBC 驅動程序可以一次實際刷新多行。應根據事務隔離級別和指針敏感度確定是否重新獲取所有值。如果在調用更新方法之后,但在調用
updateRow方法之前調用refreshRow,則會丟失對行所作的更新。頻繁調用方法refreshRow可能導致性能下降。 -
- 拋出:
-
SQLException- 如果發生數據庫訪問錯誤或者在指針不位於插入行上時調用了此方法 - 從以下版本開始:
- 1.2
cancelRowUpdates
void cancelRowUpdates()
throws SQLException
-
取消對
ResultSet對象中的當前行所作的更新。此方法在調用更新方法之后,但在調用updateRow方法之前調用才可以回滾對行所作的更新。如果沒有進行任何更新或者已經調用updateRow方法,則此方法無效。 -
- 拋出:
-
SQLException- 如果發生數據庫訪問錯誤或者在指針不位於插入行上時調用了此方法 - 從以下版本開始:
- 1.2
moveToInsertRow
void moveToInsertRow()
throws SQLException
-
將指針移動到插入行。將指針置於插入行上時,當前的指針位置會被記住。插入行是一個與可更新結果集相關聯的特殊行。它實際上是一個緩沖區,在將行插入到結果集前可以通過調用更新方法在其中構造新行。當指針位於插入行上時,僅能調用更新方法、獲取方法以及
insertRow方法。每次在調用insertRow之前調用此方法時,必須為結果集中的所有列分配值。在對列值調用獲取方法之前,必須調用更新方法。 -
- 拋出:
-
SQLException- 如果發生數據庫訪問錯誤或者結果集不可更新 - 從以下版本開始:
- 1.2
moveToCurrentRow
void moveToCurrentRow()
throws SQLException
-
將指針移動到記住的指針位置,通常為當前行。如果指針不位於插入行上,則此方法無效。
-
- 拋出:
-
SQLException- 如果發生數據庫訪問錯誤或者結果集不可更新 - 從以下版本開始:
- 1.2
getStatement
Statement getStatement() throws SQLException
-
檢索生成此
ResultSet對象的Statement對象。如果結果集是以其他方式生成的(如通過DatabaseMetaData方法),則此方法返回null。 -
- 返回:
-
生成此
ResultSet對象的Statment對象;如果結果集是以其他方法生成的,則返回null - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
getObject
Object getObject(int i, Map<String,Class<?>> map) throws SQLException
-
以 Java 編程語言中
Object的形式檢索此ResultSet對象的當前行中指定列的值。如果值為 SQLNULL,則驅動程序返回一個 Javanull。此方法使用給定的Map對象作為正在檢索的 SQL 結構化或獨特類型的自定義映射關系。 -
- 參數:
-
i- 第一個列是 1,第二個列是 2,…… -
map- 一個java.util.Map對象,包含從 SQL 類型名稱到 Java 編程語言中類的映射關系 - 返回:
-
表示 SQL 值的 Java 編程語言中的
Object - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
getRef
Ref getRef(int i) throws SQLException
-
以 Java 編程語言中
Ref對象的形式檢索此ResultSet對象的當前行中指定列的值。 -
- 參數:
-
i- 第一個列是 1,第二個列是 2,…… - 返回:
-
表示 SQL
REF值的Ref對象 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
getBlob
Blob getBlob(int i) throws SQLException
-
以 Java 編程語言中
Blob對象的形式檢索此ResultSet對象的當前行中指定列的值。 -
- 參數:
-
i- 第一個列是 1,第二個列是 2,…… - 返回:
-
表示指定列中的 SQL
BLOB值的BLOB對象 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
getClob
Clob getClob(int i) throws SQLException
-
以 Java 編程語言中
Clob對象的形式檢索此ResultSet對象的當前行中指定列的值。 -
- 參數:
-
i- 第一個列是 1,第二個列是 2,…… - 返回:
-
表示指定列中的 SQL
Clob值的Clob對象 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
getArray
Array getArray(int i) throws SQLException
-
以 Java 編程語言中
Array對象的形式檢索此ResultSet對象的當前行中指定列的值。 -
- 參數:
-
i- 第一個列是 1,第二個列是 2,…… - 返回:
-
表示指定列中的 SQL
Array值的Array對象 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
getObject
Object getObject(String colName, Map<String,Class<?>> map) throws SQLException
-
以 Java 編程語言中
Object的形式檢索此ResultSet對象的當前行中指定列的值。如果值為 SQLNULL,則驅動程序返回一個 Javanull。此方法使用指定的Map對象自定義映射關系(如果合適)。 -
- 參數:
-
colName- 列的名稱,根據它來檢索值 -
map- 包含從 SQL 類型名稱到 Java 編程語言中類的映射關系的java.util.Map對象 - 返回:
-
表示指定列中的 SQL 值的
Object - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
getRef
Ref getRef(String colName) throws SQLException
-
以 Java 編程語言中
Ref對象的形式檢索此ResultSet對象的當前行中指定列的值。 -
- 參數:
-
colName- 列名稱 - 返回:
-
表示指定列中 SQL
Ref值的Ref對象 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
getBlob
Blob getBlob(String colName) throws SQLException
-
以 Java 編程語言中
Blob對象的形式檢索此ResultSet對象的當前行中指定列的值。 -
- 參數:
-
colName- 列的名稱,根據它檢索值 - 返回:
-
表示指定列中 SQL
Blob值的Blob對象 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
getClob
Clob getClob(String colName) throws SQLException
-
以 Java 編程語言中
Clob對象的形式檢索此ResultSet對象的當前行中指定列的值。 -
- 參數:
-
colName- 列的名稱,根據它檢索值 - 返回:
-
表示指定列中 SQL
CLOB值的Clob對象 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
getArray
Array getArray(String colName) throws SQLException
-
以 Java 編程語言中
Array對象的形式檢索此ResultSet對象的當前行中指定列的值。 -
- 參數:
-
colName- 列的名稱,根據它檢索值 - 返回:
-
表示指定列中 SQL
ARRAY值的ARRAY對象 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
getDate
Date getDate(int columnIndex, Calendar cal) throws SQLException
-
以 Java 編程語言中
java.sql.Date對象的形式檢索此ResultSet對象的當前行中指定列的值。如果底層數據庫未存儲時區信息,則此方法使用給定日歷構造日期的適當毫秒值。 -
- 參數:
-
columnIndex- 第一個列是 1,第二個列是 2,…… -
cal- 在構造日期時使用的java.util.Calendar對象 - 返回:
-
java.sql.Date對象形式的列值;如果值為 SQLNULL,則返回值為 Java 編程語言中的null - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
getDate
Date getDate(String columnName, Calendar cal) throws SQLException
-
以 Java 編程語言中
java.sql.Date對象的形式檢索此ResultSet對象的當前行中指定列的值。如果底層數據庫未存儲時區信息,則此方法使用給定日歷構造日期的適當毫秒值。 -
- 參數:
-
columnName- 列的 SQL 名稱,根據它檢索值 -
cal- 在構造日期時使用的java.util.Calendar對象 - 返回:
-
java.sql.Date對象形式的列值;如果值為 SQLNULL,則返回值為 Java 編程語言中的null - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
getTime
Time getTime(int columnIndex, Calendar cal) throws SQLException
-
以 Java 編程語言中
java.sql.Time對象的形式檢索此ResultSet對象的當前行中指定列的值。如果底層數據庫未存儲時區信息,則此方法使用給定日歷構造時間的適當毫秒值。 -
- 參數:
-
columnIndex- 第一個列是 1,第二個列是 2,…… -
cal- 在構造時間時使用的java.util.Calendar對象 - 返回:
-
java.sql.Time對象形式的列值;如果值為 SQLNULL,則返回值為 Java 編程語言中的null - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
getTime
Time getTime(String columnName, Calendar cal) throws SQLException
-
以 Java 編程語言中
java.sql.Time對象的形式檢索此ResultSet對象的當前行中指定列的值。如果底層數據庫未存儲時區信息,則此方法使用給定日歷構造時間的適當毫秒值。 -
- 參數:
-
columnName- 列的 SQL 名稱 -
cal- 在構造時間時使用的java.util.Calendar對象 - 返回:
-
java.sql.Time對象形式的列值;如果值為 SQLNULL,則返回值為 Java 編程語言中的null - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
getTimestamp
Timestamp getTimestamp(int columnIndex, Calendar cal) throws SQLException
-
以 Java 編程語言中
java.sql.Timestamp對象的形式檢索此ResultSet對象的當前行中指定列的值。如果底層數據庫未存儲時區信息,則此方法使用給定日歷構造時間戳的適當毫秒值。 -
- 參數:
-
columnIndex- 第一個列是 1,第二個列是 2,…… -
cal- 在構造時間戳時使用的java.util.Calendar對象 - 返回:
-
java.sql.Timestamp對象形式的列值;如果值為 SQLNULL,則返回值為 Java 編程語言中的null - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
getTimestamp
Timestamp getTimestamp(String columnName, Calendar cal) throws SQLException
-
以 Java 編程語言中
java.sql.Timestamp對象的形式檢索此ResultSet對象的當前行中指定列的值。如果底層數據庫未存儲時區信息,則此方法使用給定日歷構造時間戳的適當毫秒值。 -
- 參數:
-
columnName- 列的 SQL 名稱 -
cal- 在構造日期時使用的java.util.Calendar對象 - 返回:
-
java.sql.Timestamp對象形式的列值;如果值為 SQLNULL,則返回值為 Java 編程語言中的null - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.2
getURL
URL getURL(int columnIndex) throws SQLException
-
以 Java 編程語言中
java.net.URL對象的形式檢索此ResultSet對象的當前行中指定列的值。 -
- 參數:
-
columnIndex- 索引,其中第一個列是 1、第二個列是 2,…… - 返回:
-
java.net.URL對象形式的列值;如果值為 SQLNULL,則返回值為 Java 編程語言中的null - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤或者 URL 是錯誤的 - 從以下版本開始:
- 1.4
getURL
URL getURL(String columnName) throws SQLException
-
以 Java 編程語言中
java.net.URL對象的形式檢索此ResultSet對象的當前行中指定列的值。 -
- 參數:
-
columnName- 列的 SQL 名稱 - 返回:
-
java.net.URL對象形式的列值;如果值為 SQLNULL,則返回值為 Java 編程語言中的null - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤或者 URL 是錯誤的 - 從以下版本開始:
- 1.4
updateRef
void updateRef(int columnIndex,
Ref x)
throws SQLException
-
用
java.sql.Ref值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow或insertRow方法。 -
- 參數:
-
columnIndex- 第一個列是 1,第二個列是 2,…… -
x- 新列值 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.4
updateRef
void updateRef(String columnName, Ref x) throws SQLException
-
用
java.sql.Ref值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow或insertRow方法。 -
- 參數:
-
columnName- 列的名稱 -
x- 新列值 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.4
updateBlob
void updateBlob(int columnIndex,
Blob x)
throws SQLException
-
用
java.sql.Blob值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow或insertRow方法。 -
- 參數:
-
columnIndex- 第一個列是 1,第二個列是 2,…… -
x- 新列值 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.4
updateBlob
void updateBlob(String columnName, Blob x) throws SQLException
-
用
java.sql.Blob值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow或insertRow方法。 -
- 參數:
-
columnName- 列的名稱 -
x- 新列值 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.4
updateClob
void updateClob(int columnIndex,
Clob x)
throws SQLException
-
用
java.sql.Clob值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow或insertRow方法。 -
- 參數:
-
columnIndex- 第一個列是 1,第二個列是 2,…… -
x- 新列值 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.4
updateClob
void updateClob(String columnName, Clob x) throws SQLException
-
用
java.sql.Clob值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow或insertRow方法。 -
- 參數:
-
columnName- 列的名稱 -
x- 新列值 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.4
updateArray
void updateArray(int columnIndex,
Array x)
throws SQLException
-
用
java.sql.Array值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow或insertRow方法。 -
- 參數:
-
columnIndex- 第一個列是 1,第二個列是 2,…… -
x- 新列值 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤 - 從以下版本開始:
- 1.4
updateArray
void updateArray(String columnName, Array x) throws SQLException
-
用
java.sql.Array值更新指定列。更新方法用於更新當前行或插入行中的列值,並不會更新底層數據庫;更新數據庫要調用updateRow或insertRow方法。- 參數:
-
columnName- 列的名稱 -
x- 新列值 - 拋出:
-
SQLException- 如果發生數據庫訪問錯誤
Interface ResultSet
-
- All Superinterfaces:
- AutoCloseable, Wrapper
- All Known Subinterfaces:
- CachedRowSet, FilteredRowSet, JdbcRowSet, JoinRowSet, RowSet, SyncResolver, WebRowSet
public interface ResultSet extends Wrapper, AutoCloseableA table of data representing a database result set, which is usually generated by executing a statement that queries the database.A
ResultSetobject maintains a cursor pointing to its current row of data. Initially the cursor is positioned before the first row. Thenextmethod moves the cursor to the next row, and because it returnsfalsewhen there are no more rows in theResultSetobject, it can be used in awhileloop to iterate through the result set.A default
ResultSetobject is not updatable and has a cursor that moves forward only. Thus, you can iterate through it only once and only from the first row to the last row. It is possible to produceResultSetobjects that are scrollable and/or updatable. The following code fragment, in whichconis a validConnectionobject, illustrates how to make a result set that is scrollable and insensitive to updates by others, and that is updatable. SeeResultSetfields for other options.Statement stmt = con.createStatement( ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE); ResultSet rs = stmt.executeQuery("SELECT a, b FROM TABLE2"); // rs will be scrollable, will not show changes made by others, // and will be updatableTheResultSetinterface provides getter methods (getBoolean,getLong, and so on) for retrieving column values from the current row. Values can be retrieved using either the index number of the column or the name of the column. In general, using the column index will be more efficient. Columns are numbered from 1. For maximum portability, result set columns within each row should be read in left-to-right order, and each column should be read only once.For the getter methods, a JDBC driver attempts to convert the underlying data to the Java type specified in the getter method and returns a suitable Java value. The JDBC specification has a table showing the allowable mappings from SQL types to Java types that can be used by the
ResultSetgetter methods.Column names used as input to getter methods are case insensitive. When a getter method is called with a column name and several columns have the same name, the value of the first matching column will be returned. The column name option is designed to be used when column names are used in the SQL query that generated the result set. For columns that are NOT explicitly named in the query, it is best to use column numbers. If column names are used, the programmer should take care to guarantee that they uniquely refer to the intended columns, which can be assured with the SQL AS clause.
A set of updater methods were added to this interface in the JDBC 2.0 API (JavaTM 2 SDK, Standard Edition, version 1.2). The comments regarding parameters to the getter methods also apply to parameters to the updater methods.
The updater methods may be used in two ways:
- to update a column value in the current row. In a scrollable
ResultSetobject, the cursor can be moved backwards and forwards, to an absolute position, or to a position relative to the current row. The following code fragment updates theNAMEcolumn in the fifth row of theResultSetobjectrsand then uses the methodupdateRowto update the data source table from whichrswas derived.rs.absolute(5); // moves the cursor to the fifth row of rs rs.updateString("NAME", "AINSWORTH"); // updates the //NAMEcolumn of row 5 to beAINSWORTHrs.updateRow(); // updates the row in the data source - to insert column values into the insert row. An updatable
ResultSetobject has a special row associated with it that serves as a staging area for building a row to be inserted. The following code fragment moves the cursor to the insert row, builds a three-column row, and inserts it intorsand into the data source table using the methodinsertRow.rs.moveToInsertRow(); // moves cursor to the insert row rs.updateString(1, "AINSWORTH"); // updates the // first column of the insert row to beAINSWORTHrs.updateInt(2,35); // updates the second column to be35rs.updateBoolean(3, true); // updates the third column totruers.insertRow(); rs.moveToCurrentRow();
A
ResultSetobject is automatically closed when theStatementobject that generated it is closed, re-executed, or used to retrieve the next result from a sequence of multiple results.The number, types and properties of a
ResultSetobject's columns are provided by theResultSetMetaDataobject returned by theResultSet.getMetaDatamethod.
-
-
Field Summary
Fields Modifier and Type Field and Description static intCLOSE_CURSORS_AT_COMMITThe constant indicating that openResultSetobjects with this holdability will be closed when the current transaction is commited.static intCONCUR_READ_ONLYThe constant indicating the concurrency mode for aResultSetobject that may NOT be updated.static intCONCUR_UPDATABLEThe constant indicating the concurrency mode for aResultSetobject that may be updated.static intFETCH_FORWARDThe constant indicating that the rows in a result set will be processed in a forward direction; first-to-last.static intFETCH_REVERSEThe constant indicating that the rows in a result set will be processed in a reverse direction; last-to-first.static intFETCH_UNKNOWNThe constant indicating that the order in which rows in a result set will be processed is unknown.static intHOLD_CURSORS_OVER_COMMITThe constant indicating that openResultSetobjects with this holdability will remain open when the current transaction is commited.static intTYPE_FORWARD_ONLYThe constant indicating the type for aResultSetobject whose cursor may move only forward.static intTYPE_SCROLL_INSENSITIVEThe constant indicating the type for aResultSetobject that is scrollable but generally not sensitive to changes to the data that underlies theResultSet.static intTYPE_SCROLL_SENSITIVEThe constant indicating the type for aResultSetobject that is scrollable and generally sensitive to changes to the data that underlies theResultSet.
-
Method Summary
Methods Modifier and Type Method and Description booleanabsolute(int row)Moves the cursor to the given row number in thisResultSetobject.voidafterLast()Moves the cursor to the end of thisResultSetobject, just after the last row.voidbeforeFirst()Moves the cursor to the front of thisResultSetobject, just before the first row.voidcancelRowUpdates()Cancels the updates made to the current row in thisResultSetobject.voidclearWarnings()Clears all warnings reported on thisResultSetobject.voidclose()Releases thisResultSetobject's database and JDBC resources immediately instead of waiting for this to happen when it is automatically closed.voiddeleteRow()Deletes the current row from thisResultSetobject and from the underlying database.intfindColumn(String columnLabel)Maps the givenResultSetcolumn label to itsResultSetcolumn index.booleanfirst()Moves the cursor to the first row in thisResultSetobject.ArraygetArray(int columnIndex)Retrieves the value of the designated column in the current row of thisResultSetobject as anArrayobject in the Java programming language.ArraygetArray(String columnLabel)Retrieves the value of the designated column in the current row of thisResultSetobject as anArrayobject in the Java programming language.InputStreamgetAsciiStream(int columnIndex)Retrieves the value of the designated column in the current row of thisResultSetobject as a stream of ASCII characters.InputStreamgetAsciiStream(String columnLabel)Retrieves the value of the designated column in the current row of thisResultSetobject as a stream of ASCII characters.BigDecimalgetBigDecimal(int columnIndex)Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.math.BigDecimalwith full precision.BigDecimalgetBigDecimal(int columnIndex, int scale)Deprecated.BigDecimalgetBigDecimal(String columnLabel)Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.math.BigDecimalwith full precision.BigDecimalgetBigDecimal(String columnLabel, int scale)Deprecated.InputStreamgetBinaryStream(int columnIndex)Retrieves the value of the designated column in the current row of thisResultSetobject as a stream of uninterpreted bytes.InputStreamgetBinaryStream(String columnLabel)Retrieves the value of the designated column in the current row of thisResultSetobject as a stream of uninterpretedbytes.BlobgetBlob(int columnIndex)Retrieves the value of the designated column in the current row of thisResultSetobject as aBlobobject in the Java programming language.BlobgetBlob(String columnLabel)Retrieves the value of the designated column in the current row of thisResultSetobject as aBlobobject in the Java programming language.booleangetBoolean(int columnIndex)Retrieves the value of the designated column in the current row of thisResultSetobject as abooleanin the Java programming language.booleangetBoolean(String columnLabel)Retrieves the value of the designated column in the current row of thisResultSetobject as abooleanin the Java programming language.bytegetByte(int columnIndex)Retrieves the value of the designated column in the current row of thisResultSetobject as abytein the Java programming language.bytegetByte(String columnLabel)Retrieves the value of the designated column in the current row of thisResultSetobject as abytein the Java programming language.byte[]getBytes(int columnIndex)Retrieves the value of the designated column in the current row of thisResultSetobject as abytearray in the Java programming language.byte[]getBytes(String columnLabel)Retrieves the value of the designated column in the current row of thisResultSetobject as abytearray in the Java programming language.ReadergetCharacterStream(int columnIndex)Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.io.Readerobject.ReadergetCharacterStream(String columnLabel)Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.io.Readerobject.ClobgetClob(int columnIndex)Retrieves the value of the designated column in the current row of thisResultSetobject as aClobobject in the Java programming language.ClobgetClob(String columnLabel)Retrieves the value of the designated column in the current row of thisResultSetobject as aClobobject in the Java programming language.intgetConcurrency()Retrieves the concurrency mode of thisResultSetobject.StringgetCursorName()Retrieves the name of the SQL cursor used by thisResultSetobject.DategetDate(int columnIndex)Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.sql.Dateobject in the Java programming language.DategetDate(int columnIndex, Calendar cal)Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.sql.Dateobject in the Java programming language.DategetDate(String columnLabel)Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.sql.Dateobject in the Java programming language.DategetDate(String columnLabel, Calendar cal)Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.sql.Dateobject in the Java programming language.doublegetDouble(int columnIndex)Retrieves the value of the designated column in the current row of thisResultSetobject as adoublein the Java programming language.doublegetDouble(String columnLabel)Retrieves the value of the designated column in the current row of thisResultSetobject as adoublein the Java programming language.intgetFetchDirection()Retrieves the fetch direction for thisResultSetobject.intgetFetchSize()Retrieves the fetch size for thisResultSetobject.floatgetFloat(int columnIndex)Retrieves the value of the designated column in the current row of thisResultSetobject as afloatin the Java programming language.floatgetFloat(String columnLabel)Retrieves the value of the designated column in the current row of thisResultSetobject as afloatin the Java programming language.intgetHoldability()Retrieves the holdability of thisResultSetobjectintgetInt(int columnIndex)Retrieves the value of the designated column in the current row of thisResultSetobject as anintin the Java programming language.intgetInt(String columnLabel)Retrieves the value of the designated column in the current row of thisResultSetobject as anintin the Java programming language.longgetLong(int columnIndex)Retrieves the value of the designated column in the current row of thisResultSetobject as alongin the Java programming language.longgetLong(String columnLabel)Retrieves the value of the designated column in the current row of thisResultSetobject as alongin the Java programming language.ResultSetMetaDatagetMetaData()Retrieves the number, types and properties of thisResultSetobject's columns.ReadergetNCharacterStream(int columnIndex)Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.io.Readerobject.ReadergetNCharacterStream(String columnLabel)Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.io.Readerobject.NClobgetNClob(int columnIndex)Retrieves the value of the designated column in the current row of thisResultSetobject as aNClobobject in the Java programming language.NClobgetNClob(String columnLabel)Retrieves the value of the designated column in the current row of thisResultSetobject as aNClobobject in the Java programming language.StringgetNString(int columnIndex)Retrieves the value of the designated column in the current row of thisResultSetobject as aStringin the Java programming language.StringgetNString(String columnLabel)Retrieves the value of the designated column in the current row of thisResultSetobject as aStringin the Java programming language.ObjectgetObject(int columnIndex)Gets the value of the designated column in the current row of thisResultSetobject as anObjectin the Java programming language.<T> TgetObject(int columnIndex, Class<T> type)Retrieves the value of the designated column in the current row of thisResultSetobject and will convert from the SQL type of the column to the requested Java data type, if the conversion is supported.ObjectgetObject(int columnIndex, Map<String,Class<?>> map)Retrieves the value of the designated column in the current row of thisResultSetobject as anObjectin the Java programming language.ObjectgetObject(String columnLabel)Gets the value of the designated column in the current row of thisResultSetobject as anObjectin the Java programming language.<T> TgetObject(String columnLabel, Class<T> type)Retrieves the value of the designated column in the current row of thisResultSetobject and will convert from the SQL type of the column to the requested Java data type, if the conversion is supported.ObjectgetObject(String columnLabel, Map<String,Class<?>> map)Retrieves the value of the designated column in the current row of thisResultSetobject as anObjectin the Java programming language.RefgetRef(int columnIndex)Retrieves the value of the designated column in the current row of thisResultSetobject as aRefobject in the Java programming language.RefgetRef(String columnLabel)Retrieves the value of the designated column in the current row of thisResultSetobject as aRefobject in the Java programming language.intgetRow()Retrieves the current row number.RowIdgetRowId(int columnIndex)Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.sql.RowIdobject in the Java programming language.RowIdgetRowId(String columnLabel)Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.sql.RowIdobject in the Java programming language.shortgetShort(int columnIndex)Retrieves the value of the designated column in the current row of thisResultSetobject as ashortin the Java programming language.shortgetShort(String columnLabel)Retrieves the value of the designated column in the current row of thisResultSetobject as ashortin the Java programming language.SQLXMLgetSQLXML(int columnIndex)Retrieves the value of the designated column in the current row of thisResultSetas ajava.sql.SQLXMLobject in the Java programming language.SQLXMLgetSQLXML(String columnLabel)Retrieves the value of the designated column in the current row of thisResultSetas ajava.sql.SQLXMLobject in the Java programming language.StatementgetStatement()Retrieves theStatementobject that produced thisResultSetobject.StringgetString(int columnIndex)Retrieves the value of the designated column in the current row of thisResultSetobject as aStringin the Java programming language.StringgetString(String columnLabel)Retrieves the value of the designated column in the current row of thisResultSetobject as aStringin the Java programming language.TimegetTime(int columnIndex)Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.sql.Timeobject in the Java programming language.TimegetTime(int columnIndex, Calendar cal)Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.sql.Timeobject in the Java programming language.TimegetTime(String columnLabel)Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.sql.Timeobject in the Java programming language.TimegetTime(String columnLabel, Calendar cal)Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.sql.Timeobject in the Java programming language.TimestampgetTimestamp(int columnIndex)Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.sql.Timestampobject in the Java programming language.TimestampgetTimestamp(int columnIndex, Calendar cal)Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.sql.Timestampobject in the Java programming language.TimestampgetTimestamp(String columnLabel)Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.sql.Timestampobject in the Java programming language.TimestampgetTimestamp(String columnLabel, Calendar cal)Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.sql.Timestampobject in the Java programming language.intgetType()Retrieves the type of thisResultSetobject.InputStreamgetUnicodeStream(int columnIndex)Deprecated.usegetCharacterStreamin place ofgetUnicodeStreamInputStreamgetUnicodeStream(String columnLabel)Deprecated.usegetCharacterStreaminsteadURLgetURL(int columnIndex)Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.net.URLobject in the Java programming language.URLgetURL(String columnLabel)Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.net.URLobject in the Java programming language.SQLWarninggetWarnings()Retrieves the first warning reported by calls on thisResultSetobject.voidinsertRow()Inserts the contents of the insert row into thisResultSetobject and into the database.booleanisAfterLast()Retrieves whether the cursor is after the last row in thisResultSetobject.booleanisBeforeFirst()Retrieves whether the cursor is before the first row in thisResultSetobject.booleanisClosed()Retrieves whether thisResultSetobject has been closed.booleanisFirst()Retrieves whether the cursor is on the first row of thisResultSetobject.booleanisLast()Retrieves whether the cursor is on the last row of thisResultSetobject.booleanlast()Moves the cursor to the last row in thisResultSetobject.voidmoveToCurrentRow()Moves the cursor to the remembered cursor position, usually the current row.voidmoveToInsertRow()Moves the cursor to the insert row.booleannext()Moves the cursor froward one row from its current position.booleanprevious()Moves the cursor to the previous row in thisResultSetobject.voidrefreshRow()Refreshes the current row with its most recent value in the database.booleanrelative(int rows)Moves the cursor a relative number of rows, either positive or negative.booleanrowDeleted()Retrieves whether a row has been deleted.booleanrowInserted()Retrieves whether the current row has had an insertion.booleanrowUpdated()Retrieves whether the current row has been updated.voidsetFetchDirection(int direction)Gives a hint as to the direction in which the rows in thisResultSetobject will be processed.voidsetFetchSize(int rows)Gives the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed for thisResultSetobject.voidupdateArray(int columnIndex, Array x)Updates the designated column with ajava.sql.Arrayvalue.voidupdateArray(String columnLabel, Array x)Updates the designated column with ajava.sql.Arrayvalue.voidupdateAsciiStream(int columnIndex, InputStream x)Updates the designated column with an ascii stream value.voidupdateAsciiStream(int columnIndex, InputStream x, int length)Updates the designated column with an ascii stream value, which will have the specified number of bytes.voidupdateAsciiStream(int columnIndex, InputStream x, long length)Updates the designated column with an ascii stream value, which will have the specified number of bytes.voidupdateAsciiStream(String columnLabel, InputStream x)Updates the designated column with an ascii stream value.voidupdateAsciiStream(String columnLabel, InputStream x, int length)Updates the designated column with an ascii stream value, which will have the specified number of bytes.voidupdateAsciiStream(String columnLabel, InputStream x, long length)Updates the designated column with an ascii stream value, which will have the specified number of bytes.voidupdateBigDecimal(int columnIndex, BigDecimal x)Updates the designated column with ajava.math.BigDecimalvalue.voidupdateBigDecimal(String columnLabel, BigDecimal x)Updates the designated column with ajava.sql.BigDecimalvalue.voidupdateBinaryStream(int columnIndex, InputStream x)Updates the designated column with a binary stream value.voidupdateBinaryStream(int columnIndex, InputStream x, int length)Updates the designated column with a binary stream value, which will have the specified number of bytes.voidupdateBinaryStream(int columnIndex, InputStream x, long length)Updates the designated column with a binary stream value, which will have the specified number of bytes.voidupdateBinaryStream(String columnLabel, InputStream x)Updates the designated column with a binary stream value.voidupdateBinaryStream(String columnLabel, InputStream x, int length)Updates the designated column with a binary stream value, which will have the specified number of bytes.voidupdateBinaryStream(String columnLabel, InputStream x, long length)Updates the designated column with a binary stream value, which will have the specified number of bytes.voidupdateBlob(int columnIndex, Blob x)Updates the designated column with ajava.sql.Blobvalue.voidupdateBlob(int columnIndex, InputStream inputStream)Updates the designated column using the given input stream.voidupdateBlob(int columnIndex, InputStream inputStream, long length)Updates the designated column using the given input stream, which will have the specified number of bytes.voidupdateBlob(String columnLabel, Blob x)Updates the designated column with ajava.sql.Blobvalue.voidupdateBlob(String columnLabel, InputStream inputStream)Updates the designated column using the given input stream.voidupdateBlob(String columnLabel, InputStream inputStream, long length)Updates the designated column using the given input stream, which will have the specified number of bytes.voidupdateBoolean(int columnIndex, boolean x)Updates the designated column with abooleanvalue.voidupdateBoolean(String columnLabel, boolean x)Updates the designated column with abooleanvalue.voidupdateByte(int columnIndex, byte x)Updates the designated column with abytevalue.voidupdateByte(String columnLabel, byte x)Updates the designated column with abytevalue.voidupdateBytes(int columnIndex, byte[] x)Updates the designated column with abytearray value.voidupdateBytes(String columnLabel, byte[] x)Updates the designated column with a byte array value.voidupdateCharacterStream(int columnIndex, Reader x)Updates the designated column with a character stream value.voidupdateCharacterStream(int columnIndex, Reader x, int length)Updates the designated column with a character stream value, which will have the specified number of bytes.voidupdateCharacterStream(int columnIndex, Reader x, long length)Updates the designated column with a character stream value, which will have the specified number of bytes.voidupdateCharacterStream(String columnLabel, Reader reader)Updates the designated column with a character stream value.voidupdateCharacterStream(String columnLabel, Reader reader, int length)Updates the designated column with a character stream value, which will have the specified number of bytes.voidupdateCharacterStream(String columnLabel, Reader reader, long length)Updates the designated column with a character stream value, which will have the specified number of bytes.voidupdateClob(int columnIndex, Clob x)Updates the designated column with ajava.sql.Clobvalue.voidupdateClob(int columnIndex, Reader reader)Updates the designated column using the givenReaderobject.voidupdateClob(int columnIndex, Reader reader, long length)Updates the designated column using the givenReaderobject, which is the given number of characters long.voidupdateClob(String columnLabel, Clob x)Updates the designated column with ajava.sql.Clobvalue.voidupdateClob(String columnLabel, Reader reader)Updates the designated column using the givenReaderobject.voidupdateClob(String columnLabel, Reader reader, long length)Updates the designated column using the givenReaderobject, which is the given number of characters long.voidupdateDate(int columnIndex, Date x)Updates the designated column with ajava.sql.Datevalue.voidupdateDate(String columnLabel, Date x)Updates the designated column with ajava.sql.Datevalue.voidupdateDouble(int columnIndex, double x)Updates the designated column with adoublevalue.voidupdateDouble(String columnLabel, double x)Updates the designated column with adoublevalue.voidupdateFloat(int columnIndex, float x)Updates the designated column with afloatvalue.voidupdateFloat(String columnLabel, float x)Updates the designated column with afloatvalue.voidupdateInt(int columnIndex, int x)Updates the designated column with anintvalue.voidupdateInt(String columnLabel, int x)Updates the designated column with anintvalue.voidupdateLong(int columnIndex, long x)Updates the designated column with alongvalue.voidupdateLong(String columnLabel, long x)Updates the designated column with alongvalue.voidupdateNCharacterStream(int columnIndex, Reader x)Updates the designated column with a character stream value.voidupdateNCharacterStream(int columnIndex, Reader x, long length)Updates the designated column with a character stream value, which will have the specified number of bytes.voidupdateNCharacterStream(String columnLabel, Reader reader)Updates the designated column with a character stream value.voidupdateNCharacterStream(String columnLabel, Reader reader, long length)Updates the designated column with a character stream value, which will have the specified number of bytes.voidupdateNClob(int columnIndex, NClob nClob)Updates the designated column with ajava.sql.NClobvalue.voidupdateNClob(int columnIndex, Reader reader)Updates the designated column using the givenReaderThe data will be read from the stream as needed until end-of-stream is reached.voidupdateNClob(int columnIndex, Reader reader, long length)Updates the designated column using the givenReaderobject, which is the given number of characters long.voidupdateNClob(String columnLabel, NClob nClob)Updates the designated column with ajava.sql.NClobvalue.voidupdateNClob(String columnLabel, Reader reader)Updates the designated column using the givenReaderobject.voidupdateNClob(String columnLabel, Reader reader, long length)Updates the designated column using the givenReaderobject, which is the given number of characters long.voidupdateNString(int columnIndex, String nString)Updates the designated column with aStringvalue.voidupdateNString(String columnLabel, String nString)Updates the designated column with aStringvalue.voidupdateNull(int columnIndex)Updates the designated column with anullvalue.voidupdateNull(String columnLabel)Updates the designated column with anullvalue.voidupdateObject(int columnIndex, Object x)Updates the designated column with anObjectvalue.voidupdateObject(int columnIndex, Object x, int scaleOrLength)Updates the designated column with anObjectvalue.voidupdateObject(String columnLabel, Object x)Updates the designated column with anObjectvalue.voidupdateObject(String columnLabel, Object x, int scaleOrLength)Updates the designated column with anObjectvalue.voidupdateRef(int columnIndex, Ref x)Updates the designated column with ajava.sql.Refvalue.voidupdateRef(String columnLabel, Ref x)Updates the designated column with ajava.sql.Refvalue.voidupdateRow()Updates the underlying database with the new contents of the current row of thisResultSetobject.voidupdateRowId(int columnIndex, RowId x)Updates the designated column with aRowIdvalue.voidupdateRowId(String columnLabel, RowId x)Updates the designated column with aRowIdvalue.voidupdateShort(int columnIndex, short x)Updates the designated column with ashortvalue.voidupdateShort(String columnLabel, short x)Updates the designated column with ashortvalue.voidupdateSQLXML(int columnIndex, SQLXML xmlObject)Updates the designated column with ajava.sql.SQLXMLvalue.voidupdateSQLXML(String columnLabel, SQLXML xmlObject)Updates the designated column with ajava.sql.SQLXMLvalue.voidupdateString(int columnIndex, String x)Updates the designated column with aStringvalue.voidupdateString(String columnLabel, String x)Updates the designated column with aStringvalue.voidupdateTime(int columnIndex, Time x)Updates the designated column with ajava.sql.Timevalue.voidupdateTime(String columnLabel, Time x)Updates the designated column with ajava.sql.Timevalue.voidupdateTimestamp(int columnIndex, Timestamp x)Updates the designated column with ajava.sql.Timestampvalue.voidupdateTimestamp(String columnLabel, Timestamp x)Updates the designated column with ajava.sql.Timestampvalue.booleanwasNull()Reports whether the last column read had a value of SQLNULL.-
Methods inherited from interface java.sql.Wrapper
isWrapperFor, unwrap
-
-
-
-
Field Detail
-
FETCH_FORWARD
static final int FETCH_FORWARD
The constant indicating that the rows in a result set will be processed in a forward direction; first-to-last. This constant is used by the methodsetFetchDirectionas a hint to the driver, which the driver may ignore.- Since:
- 1.2
- See Also:
- Constant Field Values
-
FETCH_REVERSE
static final int FETCH_REVERSE
The constant indicating that the rows in a result set will be processed in a reverse direction; last-to-first. This constant is used by the methodsetFetchDirectionas a hint to the driver, which the driver may ignore.- Since:
- 1.2
- See Also:
- Constant Field Values
-
FETCH_UNKNOWN
static final int FETCH_UNKNOWN
The constant indicating that the order in which rows in a result set will be processed is unknown. This constant is used by the methodsetFetchDirectionas a hint to the driver, which the driver may ignore.- See Also:
- Constant Field Values
-
TYPE_FORWARD_ONLY
static final int TYPE_FORWARD_ONLY
The constant indicating the type for aResultSetobject whose cursor may move only forward.- Since:
- 1.2
- See Also:
- Constant Field Values
-
TYPE_SCROLL_INSENSITIVE
static final int TYPE_SCROLL_INSENSITIVE
The constant indicating the type for aResultSetobject that is scrollable but generally not sensitive to changes to the data that underlies theResultSet.- Since:
- 1.2
- See Also:
- Constant Field Values
-
TYPE_SCROLL_SENSITIVE
static final int TYPE_SCROLL_SENSITIVE
The constant indicating the type for aResultSetobject that is scrollable and generally sensitive to changes to the data that underlies theResultSet.- Since:
- 1.2
- See Also:
- Constant Field Values
-
CONCUR_READ_ONLY
static final int CONCUR_READ_ONLY
The constant indicating the concurrency mode for aResultSetobject that may NOT be updated.- Since:
- 1.2
- See Also:
- Constant Field Values
-
CONCUR_UPDATABLE
static final int CONCUR_UPDATABLE
The constant indicating the concurrency mode for aResultSetobject that may be updated.- Since:
- 1.2
- See Also:
- Constant Field Values
-
HOLD_CURSORS_OVER_COMMIT
static final int HOLD_CURSORS_OVER_COMMIT
The constant indicating that openResultSetobjects with this holdability will remain open when the current transaction is commited.- Since:
- 1.4
- See Also:
- Constant Field Values
-
CLOSE_CURSORS_AT_COMMIT
static final int CLOSE_CURSORS_AT_COMMIT
The constant indicating that openResultSetobjects with this holdability will be closed when the current transaction is commited.- Since:
- 1.4
- See Also:
- Constant Field Values
-
-
Method Detail
-
next
boolean next() throws SQLExceptionMoves the cursor froward one row from its current position. AResultSetcursor is initially positioned before the first row; the first call to the methodnextmakes the first row the current row; the second call makes the second row the current row, and so on.When a call to the
nextmethod returnsfalse, the cursor is positioned after the last row. Any invocation of aResultSetmethod which requires a current row will result in aSQLExceptionbeing thrown. If the result set type isTYPE_FORWARD_ONLY, it is vendor specified whether their JDBC driver implementation will returnfalseor throw anSQLExceptionon a subsequent call tonext.If an input stream is open for the current row, a call to the method
nextwill implicitly close it. AResultSetobject's warning chain is cleared when a new row is read.- Returns:
-
trueif the new current row is valid;falseif there are no more rows - Throws:
-
SQLException- if a database access error occurs or this method is called on a closed result set
-
close
void close() throws SQLExceptionReleases thisResultSetobject's database and JDBC resources immediately instead of waiting for this to happen when it is automatically closed.The closing of a
ResultSetobject does not close theBlob,CloborNClobobjects created by theResultSet.Blob,CloborNClobobjects remain valid for at least the duration of the transaction in which they are creataed, unless theirfreemethod is invoked.When a
ResultSetis closed, anyResultSetMetaDatainstances that were created by calling thegetMetaDatamethod remain accessible.Note: A
ResultSetobject is automatically closed by theStatementobject that generated it when thatStatementobject is closed, re-executed, or is used to retrieve the next result from a sequence of multiple results.Calling the method
closeon aResultSetobject that is already closed is a no-op.- Specified by:
-
closein interfaceAutoCloseable - Throws:
-
SQLException- if a database access error occurs
-
wasNull
boolean wasNull() throws SQLExceptionReports whether the last column read had a value of SQLNULL. Note that you must first call one of the getter methods on a column to try to read its value and then call the methodwasNullto see if the value read was SQLNULL.- Returns:
-
trueif the last column value read was SQLNULLandfalseotherwise - Throws:
-
SQLException- if a database access error occurs or this method is called on a closed result set
-
getString
String getString(int columnIndex) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as aStringin the Java programming language.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... - Returns:
-
the column value; if the value is SQL
NULL, the value returned isnull - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result set
-
getBoolean
boolean getBoolean(int columnIndex) throws SQLExceptionRetrieves the value of the designated column in the current row of thisResultSetobject as abooleanin the Java programming language.If the designated column has a datatype of CHAR or VARCHAR and contains a "0" or has a datatype of BIT, TINYINT, SMALLINT, INTEGER or BIGINT and contains a 0, a value of
falseis returned. If the designated column has a datatype of CHAR or VARCHAR and contains a "1" or has a datatype of BIT, TINYINT, SMALLINT, INTEGER or BIGINT and contains a 1, a value oftrueis returned.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... - Returns:
-
the column value; if the value is SQL
NULL, the value returned isfalse - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result set
-
getByte
byte getByte(int columnIndex) throws SQLExceptionRetrieves the value of the designated column in the current row of thisResultSetobject as abytein the Java programming language.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... - Returns:
-
the column value; if the value is SQL
NULL, the value returned is0 - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result set
-
getShort
short getShort(int columnIndex) throws SQLExceptionRetrieves the value of the designated column in the current row of thisResultSetobject as ashortin the Java programming language.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... - Returns:
-
the column value; if the value is SQL
NULL, the value returned is0 - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result set
-
getInt
int getInt(int columnIndex) throws SQLExceptionRetrieves the value of the designated column in the current row of thisResultSetobject as anintin the Java programming language.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... - Returns:
-
the column value; if the value is SQL
NULL, the value returned is0 - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result set
-
getLong
long getLong(int columnIndex) throws SQLExceptionRetrieves the value of the designated column in the current row of thisResultSetobject as alongin the Java programming language.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... - Returns:
-
the column value; if the value is SQL
NULL, the value returned is0 - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result set
-
getFloat
float getFloat(int columnIndex) throws SQLExceptionRetrieves the value of the designated column in the current row of thisResultSetobject as afloatin the Java programming language.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... - Returns:
-
the column value; if the value is SQL
NULL, the value returned is0 - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result set
-
getDouble
double getDouble(int columnIndex) throws SQLExceptionRetrieves the value of the designated column in the current row of thisResultSetobject as adoublein the Java programming language.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... - Returns:
-
the column value; if the value is SQL
NULL, the value returned is0 - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result set
-
getBigDecimal
BigDecimal getBigDecimal(int columnIndex, int scale) throws SQLException
Deprecated.Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.sql.BigDecimalin the Java programming language.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... -
scale- the number of digits to the right of the decimal point - Returns:
-
the column value; if the value is SQL
NULL, the value returned isnull - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method
-
getBytes
byte[] getBytes(int columnIndex) throws SQLExceptionRetrieves the value of the designated column in the current row of thisResultSetobject as abytearray in the Java programming language. The bytes represent the raw values returned by the driver.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... - Returns:
-
the column value; if the value is SQL
NULL, the value returned isnull - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result set
-
getDate
Date getDate(int columnIndex) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.sql.Dateobject in the Java programming language.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... - Returns:
-
the column value; if the value is SQL
NULL, the value returned isnull - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result set
-
getTime
Time getTime(int columnIndex) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.sql.Timeobject in the Java programming language.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... - Returns:
-
the column value; if the value is SQL
NULL, the value returned isnull - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result set
-
getTimestamp
Timestamp getTimestamp(int columnIndex) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.sql.Timestampobject in the Java programming language.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... - Returns:
-
the column value; if the value is SQL
NULL, the value returned isnull - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result set
-
getAsciiStream
InputStream getAsciiStream(int columnIndex) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as a stream of ASCII characters. The value can then be read in chunks from the stream. This method is particularly suitable for retrieving largeLONGVARCHARvalues. The JDBC driver will do any necessary conversion from the database format into ASCII.Note: All the data in the returned stream must be read prior to getting the value of any other column. The next call to a getter method implicitly closes the stream. Also, a stream may return
0when the methodInputStream.availableis called whether there is data available or not.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... - Returns:
-
a Java input stream that delivers the database column value as a stream of one-byte ASCII characters; if the value is SQL
NULL, the value returned isnull - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result set
-
getUnicodeStream
InputStream getUnicodeStream(int columnIndex) throws SQLException
Deprecated. usegetCharacterStreamin place ofgetUnicodeStreamRetrieves the value of the designated column in the current row of thisResultSetobject as as a stream of two-byte 3 characters. The first byte is the high byte; the second byte is the low byte. The value can then be read in chunks from the stream. This method is particularly suitable for retrieving largeLONGVARCHARvalues. The JDBC driver will do any necessary conversion from the database format into Unicode.Note: All the data in the returned stream must be read prior to getting the value of any other column. The next call to a getter method implicitly closes the stream. Also, a stream may return
0when the methodInputStream.availableis called, whether there is data available or not.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... - Returns:
-
a Java input stream that delivers the database column value as a stream of two-byte Unicode characters; if the value is SQL
NULL, the value returned isnull - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method
-
getBinaryStream
InputStream getBinaryStream(int columnIndex) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as a stream of uninterpreted bytes. The value can then be read in chunks from the stream. This method is particularly suitable for retrieving largeLONGVARBINARYvalues.Note: All the data in the returned stream must be read prior to getting the value of any other column. The next call to a getter method implicitly closes the stream. Also, a stream may return
0when the methodInputStream.availableis called whether there is data available or not.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... - Returns:
-
a Java input stream that delivers the database column value as a stream of uninterpreted bytes; if the value is SQL
NULL, the value returned isnull - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result set
-
getString
String getString(String columnLabel) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as aStringin the Java programming language.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column - Returns:
-
the column value; if the value is SQL
NULL, the value returned isnull - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result set
-
getBoolean
boolean getBoolean(String columnLabel) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as abooleanin the Java programming language.If the designated column has a datatype of CHAR or VARCHAR and contains a "0" or has a datatype of BIT, TINYINT, SMALLINT, INTEGER or BIGINT and contains a 0, a value of
falseis returned. If the designated column has a datatype of CHAR or VARCHAR and contains a "1" or has a datatype of BIT, TINYINT, SMALLINT, INTEGER or BIGINT and contains a 1, a value oftrueis returned.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column - Returns:
-
the column value; if the value is SQL
NULL, the value returned isfalse - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result set
-
getByte
byte getByte(String columnLabel) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as abytein the Java programming language.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column - Returns:
-
the column value; if the value is SQL
NULL, the value returned is0 - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result set
-
getShort
short getShort(String columnLabel) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as ashortin the Java programming language.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column - Returns:
-
the column value; if the value is SQL
NULL, the value returned is0 - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result set
-
getInt
int getInt(String columnLabel) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as anintin the Java programming language.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column - Returns:
-
the column value; if the value is SQL
NULL, the value returned is0 - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result set
-
getLong
long getLong(String columnLabel) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as alongin the Java programming language.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column - Returns:
-
the column value; if the value is SQL
NULL, the value returned is0 - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result set
-
getFloat
float getFloat(String columnLabel) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as afloatin the Java programming language.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column - Returns:
-
the column value; if the value is SQL
NULL, the value returned is0 - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result set
-
getDouble
double getDouble(String columnLabel) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as adoublein the Java programming language.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column - Returns:
-
the column value; if the value is SQL
NULL, the value returned is0 - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result set
-
getBigDecimal
BigDecimal getBigDecimal(String columnLabel, int scale) throws SQLException
Deprecated.Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.math.BigDecimalin the Java programming language.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column -
scale- the number of digits to the right of the decimal point - Returns:
-
the column value; if the value is SQL
NULL, the value returned isnull - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method
-
getBytes
byte[] getBytes(String columnLabel) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as abytearray in the Java programming language. The bytes represent the raw values returned by the driver.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column - Returns:
-
the column value; if the value is SQL
NULL, the value returned isnull - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result set
-
getDate
Date getDate(String columnLabel) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.sql.Dateobject in the Java programming language.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column - Returns:
-
the column value; if the value is SQL
NULL, the value returned isnull - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result set
-
getTime
Time getTime(String columnLabel) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.sql.Timeobject in the Java programming language.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column - Returns:
-
the column value; if the value is SQL
NULL, the value returned isnull - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result set
-
getTimestamp
Timestamp getTimestamp(String columnLabel) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.sql.Timestampobject in the Java programming language.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column - Returns:
-
the column value; if the value is SQL
NULL, the value returned isnull - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result set
-
getAsciiStream
InputStream getAsciiStream(String columnLabel) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as a stream of ASCII characters. The value can then be read in chunks from the stream. This method is particularly suitable for retrieving largeLONGVARCHARvalues. The JDBC driver will do any necessary conversion from the database format into ASCII.Note: All the data in the returned stream must be read prior to getting the value of any other column. The next call to a getter method implicitly closes the stream. Also, a stream may return
0when the methodavailableis called whether there is data available or not.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column - Returns:
-
a Java input stream that delivers the database column value as a stream of one-byte ASCII characters. If the value is SQL
NULL, the value returned isnull. - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result set
-
getUnicodeStream
InputStream getUnicodeStream(String columnLabel) throws SQLException
Deprecated. usegetCharacterStreaminsteadRetrieves the value of the designated column in the current row of thisResultSetobject as a stream of two-byte Unicode characters. The first byte is the high byte; the second byte is the low byte. The value can then be read in chunks from the stream. This method is particularly suitable for retrieving largeLONGVARCHARvalues. The JDBC technology-enabled driver will do any necessary conversion from the database format into Unicode.Note: All the data in the returned stream must be read prior to getting the value of any other column. The next call to a getter method implicitly closes the stream. Also, a stream may return
0when the methodInputStream.availableis called, whether there is data available or not.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column - Returns:
-
a Java input stream that delivers the database column value as a stream of two-byte Unicode characters. If the value is SQL
NULL, the value returned isnull. - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method
-
getBinaryStream
InputStream getBinaryStream(String columnLabel) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as a stream of uninterpretedbytes. The value can then be read in chunks from the stream. This method is particularly suitable for retrieving largeLONGVARBINARYvalues.Note: All the data in the returned stream must be read prior to getting the value of any other column. The next call to a getter method implicitly closes the stream. Also, a stream may return
0when the methodavailableis called whether there is data available or not.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column - Returns:
-
a Java input stream that delivers the database column value as a stream of uninterpreted bytes; if the value is SQL
NULL, the result isnull - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result set
-
getWarnings
SQLWarning getWarnings() throws SQLException
Retrieves the first warning reported by calls on thisResultSetobject. Subsequent warnings on thisResultSetobject will be chained to theSQLWarningobject that this method returns.The warning chain is automatically cleared each time a new row is read. This method may not be called on a
ResultSetobject that has been closed; doing so will cause anSQLExceptionto be thrown.Note: This warning chain only covers warnings caused by
ResultSetmethods. Any warning caused byStatementmethods (such as reading OUT parameters) will be chained on theStatementobject.- Returns:
-
the first
SQLWarningobject reported ornullif there are none - Throws:
-
SQLException- if a database access error occurs or this method is called on a closed result set
-
clearWarnings
void clearWarnings() throws SQLExceptionClears all warnings reported on thisResultSetobject. After this method is called, the methodgetWarningsreturnsnulluntil a new warning is reported for thisResultSetobject.- Throws:
-
SQLException- if a database access error occurs or this method is called on a closed result set
-
getCursorName
String getCursorName() throws SQLException
Retrieves the name of the SQL cursor used by thisResultSetobject.In SQL, a result table is retrieved through a cursor that is named. The current row of a result set can be updated or deleted using a positioned update/delete statement that references the cursor name. To insure that the cursor has the proper isolation level to support update, the cursor's
SELECTstatement should be of the formSELECT FOR UPDATE. IfFOR UPDATEis omitted, the positioned updates may fail.The JDBC API supports this SQL feature by providing the name of the SQL cursor used by a
ResultSetobject. The current row of aResultSetobject is also the current row of this SQL cursor.- Returns:
-
the SQL name for this
ResultSetobject's cursor - Throws:
-
SQLException- if a database access error occurs or this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method
-
getMetaData
ResultSetMetaData getMetaData() throws SQLException
Retrieves the number, types and properties of thisResultSetobject's columns.- Returns:
-
the description of this
ResultSetobject's columns - Throws:
-
SQLException- if a database access error occurs or this method is called on a closed result set
-
getObject
Object getObject(int columnIndex) throws SQLException
Gets the value of the designated column in the current row of this
ResultSetobject as anObjectin the Java programming language.This method will return the value of the given column as a Java object. The type of the Java object will be the default Java object type corresponding to the column's SQL type, following the mapping for built-in types specified in the JDBC specification. If the value is an SQL
NULL, the driver returns a Javanull.This method may also be used to read database-specific abstract data types. In the JDBC 2.0 API, the behavior of method
getObjectis extended to materialize data of SQL user-defined types.If
Connection.getTypeMapdoes not throw aSQLFeatureNotSupportedException, then when a column contains a structured or distinct value, the behavior of this method is as if it were a call to:getObject(columnIndex, this.getStatement().getConnection().getTypeMap()). IfConnection.getTypeMapdoes throw aSQLFeatureNotSupportedException, then structured values are not supported, and distinct values are mapped to the default Java class as determined by the underlying SQL type of the DISTINCT type.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... - Returns:
-
a
java.lang.Objectholding the column value - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result set
-
getObject
Object getObject(String columnLabel) throws SQLException
Gets the value of the designated column in the current row of this
ResultSetobject as anObjectin the Java programming language.This method will return the value of the given column as a Java object. The type of the Java object will be the default Java object type corresponding to the column's SQL type, following the mapping for built-in types specified in the JDBC specification. If the value is an SQL
NULL, the driver returns a Javanull.This method may also be used to read database-specific abstract data types.
In the JDBC 2.0 API, the behavior of the method
getObjectis extended to materialize data of SQL user-defined types. When a column contains a structured or distinct value, the behavior of this method is as if it were a call to:getObject(columnIndex, this.getStatement().getConnection().getTypeMap()).- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column - Returns:
-
a
java.lang.Objectholding the column value - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result set
-
findColumn
int findColumn(String columnLabel) throws SQLException
Maps the givenResultSetcolumn label to itsResultSetcolumn index.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column - Returns:
- the column index of the given column name
- Throws:
-
SQLException- if theResultSetobject does not contain a column labeledcolumnLabel, a database access error occurs or this method is called on a closed result set
-
getCharacterStream
Reader getCharacterStream(int columnIndex) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.io.Readerobject.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... - Returns:
-
a
java.io.Readerobject that contains the column value; if the value is SQLNULL, the value returned isnullin the Java programming language. - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result set - Since:
- 1.2
-
getCharacterStream
Reader getCharacterStream(String columnLabel) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.io.Readerobject.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column - Returns:
-
a
java.io.Readerobject that contains the column value; if the value is SQLNULL, the value returned isnullin the Java programming language - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result set - Since:
- 1.2
-
getBigDecimal
BigDecimal getBigDecimal(int columnIndex) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.math.BigDecimalwith full precision.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... - Returns:
-
the column value (full precision); if the value is SQL
NULL, the value returned isnullin the Java programming language. - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result set - Since:
- 1.2
-
getBigDecimal
BigDecimal getBigDecimal(String columnLabel) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.math.BigDecimalwith full precision.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column - Returns:
-
the column value (full precision); if the value is SQL
NULL, the value returned isnullin the Java programming language. - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result set - Since:
- 1.2
-
isBeforeFirst
boolean isBeforeFirst() throws SQLExceptionRetrieves whether the cursor is before the first row in thisResultSetobject.Note:Support for the
isBeforeFirstmethod is optional forResultSets with a result set type ofTYPE_FORWARD_ONLY- Returns:
-
trueif the cursor is before the first row;falseif the cursor is at any other position or the result set contains no rows - Throws:
-
SQLException- if a database access error occurs or this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
-
isAfterLast
boolean isAfterLast() throws SQLExceptionRetrieves whether the cursor is after the last row in thisResultSetobject.Note:Support for the
isAfterLastmethod is optional forResultSets with a result set type ofTYPE_FORWARD_ONLY- Returns:
-
trueif the cursor is after the last row;falseif the cursor is at any other position or the result set contains no rows - Throws:
-
SQLException- if a database access error occurs or this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
-
isFirst
boolean isFirst() throws SQLExceptionRetrieves whether the cursor is on the first row of thisResultSetobject.Note:Support for the
isFirstmethod is optional forResultSets with a result set type ofTYPE_FORWARD_ONLY- Returns:
-
trueif the cursor is on the first row;falseotherwise - Throws:
-
SQLException- if a database access error occurs or this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
-
isLast
boolean isLast() throws SQLExceptionRetrieves whether the cursor is on the last row of thisResultSetobject. Note: Calling the methodisLastmay be expensive because the JDBC driver might need to fetch ahead one row in order to determine whether the current row is the last row in the result set.Note: Support for the
isLastmethod is optional forResultSets with a result set type ofTYPE_FORWARD_ONLY- Returns:
-
trueif the cursor is on the last row;falseotherwise - Throws:
-
SQLException- if a database access error occurs or this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
-
beforeFirst
void beforeFirst() throws SQLExceptionMoves the cursor to the front of thisResultSetobject, just before the first row. This method has no effect if the result set contains no rows.- Throws:
-
SQLException- if a database access error occurs; this method is called on a closed result set or the result set type isTYPE_FORWARD_ONLY -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
-
afterLast
void afterLast() throws SQLExceptionMoves the cursor to the end of thisResultSetobject, just after the last row. This method has no effect if the result set contains no rows.- Throws:
-
SQLException- if a database access error occurs; this method is called on a closed result set or the result set type isTYPE_FORWARD_ONLY -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
-
first
boolean first() throws SQLExceptionMoves the cursor to the first row in thisResultSetobject.- Returns:
-
trueif the cursor is on a valid row;falseif there are no rows in the result set - Throws:
-
SQLException- if a database access error occurs; this method is called on a closed result set or the result set type isTYPE_FORWARD_ONLY -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
-
last
boolean last() throws SQLExceptionMoves the cursor to the last row in thisResultSetobject.- Returns:
-
trueif the cursor is on a valid row;falseif there are no rows in the result set - Throws:
-
SQLException- if a database access error occurs; this method is called on a closed result set or the result set type isTYPE_FORWARD_ONLY -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
-
getRow
int getRow() throws SQLExceptionRetrieves the current row number. The first row is number 1, the second number 2, and so on.Note:Support for the
getRowmethod is optional forResultSets with a result set type ofTYPE_FORWARD_ONLY- Returns:
-
the current row number;
0if there is no current row - Throws:
-
SQLException- if a database access error occurs or this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
-
absolute
boolean absolute(int row) throws SQLExceptionMoves the cursor to the given row number in thisResultSetobject.If the row number is positive, the cursor moves to the given row number with respect to the beginning of the result set. The first row is row 1, the second is row 2, and so on.
If the given row number is negative, the cursor moves to an absolute row position with respect to the end of the result set. For example, calling the method
absolute(-1)positions the cursor on the last row; calling the methodabsolute(-2)moves the cursor to the next-to-last row, and so on.If the row number specified is zero, the cursor is moved to before the first row.
An attempt to position the cursor beyond the first/last row in the result set leaves the cursor before the first row or after the last row.
Note: Calling
absolute(1)is the same as callingfirst(). Callingabsolute(-1)is the same as callinglast().- Parameters:
-
row- the number of the row to which the cursor should move. A value of zero indicates that the cursor will be positioned before the first row; a positive number indicates the row number counting from the beginning of the result set; a negative number indicates the row number counting from the end of the result set - Returns:
-
trueif the cursor is moved to a position in thisResultSetobject;falseif the cursor is before the first row or after the last row - Throws:
-
SQLException- if a database access error occurs; this method is called on a closed result set or the result set type isTYPE_FORWARD_ONLY -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
-
relative
boolean relative(int rows) throws SQLExceptionMoves the cursor a relative number of rows, either positive or negative. Attempting to move beyond the first/last row in the result set positions the cursor before/after the the first/last row. Callingrelative(0)is valid, but does not change the cursor position.Note: Calling the method
relative(1)is identical to calling the methodnext()and calling the methodrelative(-1)is identical to calling the methodprevious().- Parameters:
-
rows- anintspecifying the number of rows to move from the current row; a positive number moves the cursor forward; a negative number moves the cursor backward - Returns:
-
trueif the cursor is on a row;falseotherwise - Throws:
-
SQLException- if a database access error occurs; this method is called on a closed result set or the result set type isTYPE_FORWARD_ONLY -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
-
previous
boolean previous() throws SQLExceptionMoves the cursor to the previous row in thisResultSetobject.When a call to the
previousmethod returnsfalse, the cursor is positioned before the first row. Any invocation of aResultSetmethod which requires a current row will result in aSQLExceptionbeing thrown.If an input stream is open for the current row, a call to the method
previouswill implicitly close it. AResultSetobject's warning change is cleared when a new row is read.- Returns:
-
trueif the cursor is now positioned on a valid row;falseif the cursor is positioned before the first row - Throws:
-
SQLException- if a database access error occurs; this method is called on a closed result set or the result set type isTYPE_FORWARD_ONLY -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
-
setFetchDirection
void setFetchDirection(int direction) throws SQLExceptionGives a hint as to the direction in which the rows in thisResultSetobject will be processed. The initial value is determined by theStatementobject that produced thisResultSetobject. The fetch direction may be changed at any time.- Parameters:
-
direction- anintspecifying the suggested fetch direction; one ofResultSet.FETCH_FORWARD,ResultSet.FETCH_REVERSE, orResultSet.FETCH_UNKNOWN - Throws:
-
SQLException- if a database access error occurs; this method is called on a closed result set or the result set type isTYPE_FORWARD_ONLYand the fetch direction is notFETCH_FORWARD - Since:
- 1.2
- See Also:
-
Statement.setFetchDirection(int),getFetchDirection()
-
getFetchDirection
int getFetchDirection() throws SQLExceptionRetrieves the fetch direction for thisResultSetobject.- Returns:
-
the current fetch direction for this
ResultSetobject - Throws:
-
SQLException- if a database access error occurs or this method is called on a closed result set - Since:
- 1.2
- See Also:
-
setFetchDirection(int)
-
setFetchSize
void setFetchSize(int rows) throws SQLExceptionGives the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed for thisResultSetobject. If the fetch size specified is zero, the JDBC driver ignores the value and is free to make its own best guess as to what the fetch size should be. The default value is set by theStatementobject that created the result set. The fetch size may be changed at any time.- Parameters:
-
rows- the number of rows to fetch - Throws:
-
SQLException- if a database access error occurs; this method is called on a closed result set or the conditionrows >= 0is not satisfied - Since:
- 1.2
- See Also:
-
getFetchSize()
-
getFetchSize
int getFetchSize() throws SQLExceptionRetrieves the fetch size for thisResultSetobject.- Returns:
-
the current fetch size for this
ResultSetobject - Throws:
-
SQLException- if a database access error occurs or this method is called on a closed result set - Since:
- 1.2
- See Also:
-
setFetchSize(int)
-
getType
int getType() throws SQLExceptionRetrieves the type of thisResultSetobject. The type is determined by theStatementobject that created the result set.- Returns:
-
ResultSet.TYPE_FORWARD_ONLY,ResultSet.TYPE_SCROLL_INSENSITIVE, orResultSet.TYPE_SCROLL_SENSITIVE - Throws:
-
SQLException- if a database access error occurs or this method is called on a closed result set - Since:
- 1.2
-
getConcurrency
int getConcurrency() throws SQLExceptionRetrieves the concurrency mode of thisResultSetobject. The concurrency used is determined by theStatementobject that created the result set.- Returns:
-
the concurrency type, either
ResultSet.CONCUR_READ_ONLYorResultSet.CONCUR_UPDATABLE - Throws:
-
SQLException- if a database access error occurs or this method is called on a closed result set - Since:
- 1.2
-
rowUpdated
boolean rowUpdated() throws SQLExceptionRetrieves whether the current row has been updated. The value returned depends on whether or not the result set can detect updates.Note: Support for the
rowUpdatedmethod is optional with a result set concurrency ofCONCUR_READ_ONLY- Returns:
-
trueif the current row is detected to have been visibly updated by the owner or another;falseotherwise - Throws:
-
SQLException- if a database access error occurs or this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
- See Also:
-
DatabaseMetaData.updatesAreDetected(int)
-
rowInserted
boolean rowInserted() throws SQLExceptionRetrieves whether the current row has had an insertion. The value returned depends on whether or not thisResultSetobject can detect visible inserts.Note: Support for the
rowInsertedmethod is optional with a result set concurrency ofCONCUR_READ_ONLY- Returns:
-
trueif the current row is detected to have been inserted;falseotherwise - Throws:
-
SQLException- if a database access error occurs or this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
- See Also:
-
DatabaseMetaData.insertsAreDetected(int)
-
rowDeleted
boolean rowDeleted() throws SQLExceptionRetrieves whether a row has been deleted. A deleted row may leave a visible "hole" in a result set. This method can be used to detect holes in a result set. The value returned depends on whether or not thisResultSetobject can detect deletions.Note: Support for the
rowDeletedmethod is optional with a result set concurrency ofCONCUR_READ_ONLY- Returns:
-
trueif the current row is detected to have been deleted by the owner or another;falseotherwise - Throws:
-
SQLException- if a database access error occurs or this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
- See Also:
-
DatabaseMetaData.deletesAreDetected(int)
-
updateNull
void updateNull(int columnIndex) throws SQLExceptionUpdates the designated column with anullvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
-
updateBoolean
void updateBoolean(int columnIndex, boolean x) throws SQLExceptionUpdates the designated column with abooleanvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... -
x- the new column value - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
-
updateByte
void updateByte(int columnIndex, byte x) throws SQLExceptionUpdates the designated column with abytevalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... -
x- the new column value - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
-
updateShort
void updateShort(int columnIndex, short x) throws SQLExceptionUpdates the designated column with ashortvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... -
x- the new column value - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
-
updateInt
void updateInt(int columnIndex, int x) throws SQLExceptionUpdates the designated column with anintvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... -
x- the new column value - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
-
updateLong
void updateLong(int columnIndex, long x) throws SQLExceptionUpdates the designated column with alongvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... -
x- the new column value - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
-
updateFloat
void updateFloat(int columnIndex, float x) throws SQLExceptionUpdates the designated column with afloatvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... -
x- the new column value - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
-
updateDouble
void updateDouble(int columnIndex, double x) throws SQLExceptionUpdates the designated column with adoublevalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... -
x- the new column value - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
-
updateBigDecimal
void updateBigDecimal(int columnIndex, BigDecimal x) throws SQLExceptionUpdates the designated column with ajava.math.BigDecimalvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... -
x- the new column value - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
-
updateString
void updateString(int columnIndex, String x) throws SQLExceptionUpdates the designated column with aStringvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... -
x- the new column value - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
-
updateBytes
void updateBytes(int columnIndex, byte[] x) throws SQLExceptionUpdates the designated column with abytearray value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... -
x- the new column value - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
-
updateDate
void updateDate(int columnIndex, Date x) throws SQLExceptionUpdates the designated column with ajava.sql.Datevalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... -
x- the new column value - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
-
updateTime
void updateTime(int columnIndex, Time x) throws SQLExceptionUpdates the designated column with ajava.sql.Timevalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... -
x- the new column value - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
-
updateTimestamp
void updateTimestamp(int columnIndex, Timestamp x) throws SQLExceptionUpdates the designated column with ajava.sql.Timestampvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... -
x- the new column value - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
-
updateAsciiStream
void updateAsciiStream(int columnIndex, InputStream x, int length) throws SQLExceptionUpdates the designated column with an ascii stream value, which will have the specified number of bytes. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... -
x- the new column value -
length- the length of the stream - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
-
updateBinaryStream
void updateBinaryStream(int columnIndex, InputStream x, int length) throws SQLExceptionUpdates the designated column with a binary stream value, which will have the specified number of bytes. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... -
x- the new column value -
length- the length of the stream - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
-
updateCharacterStream
void updateCharacterStream(int columnIndex, Reader x, int length) throws SQLExceptionUpdates the designated column with a character stream value, which will have the specified number of bytes. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... -
x- the new column value -
length- the length of the stream - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
-
updateObject
void updateObject(int columnIndex, Object x, int scaleOrLength) throws SQLExceptionUpdates the designated column with anObjectvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.If the second argument is an
InputStreamthen the stream must contain the number of bytes specified by scaleOrLength. If the second argument is aReaderthen the reader must contain the number of characters specified by scaleOrLength. If these conditions are not true the driver will generate aSQLExceptionwhen the statement is executed.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... -
x- the new column value -
scaleOrLength- for an object ofjava.math.BigDecimal, this is the number of digits after the decimal point. For Java Object typesInputStreamandReader, this is the length of the data in the stream or reader. For all other types, this value will be ignored. - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
-
updateObject
void updateObject(int columnIndex, Object x) throws SQLExceptionUpdates the designated column with anObjectvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... -
x- the new column value - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
-
updateNull
void updateNull(String columnLabel) throws SQLException
Updates the designated column with anullvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
-
updateBoolean
void updateBoolean(String columnLabel, boolean x) throws SQLException
Updates the designated column with abooleanvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column -
x- the new column value - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
-
updateByte
void updateByte(String columnLabel, byte x) throws SQLException
Updates the designated column with abytevalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column -
x- the new column value - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
-
updateShort
void updateShort(String columnLabel, short x) throws SQLException
Updates the designated column with ashortvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column -
x- the new column value - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
-
updateInt
void updateInt(String columnLabel, int x) throws SQLException
Updates the designated column with anintvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column -
x- the new column value - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
-
updateLong
void updateLong(String columnLabel, long x) throws SQLException
Updates the designated column with alongvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column -
x- the new column value - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
-
updateFloat
void updateFloat(String columnLabel, float x) throws SQLException
Updates the designated column with afloatvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column -
x- the new column value - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
-
updateDouble
void updateDouble(String columnLabel, double x) throws SQLException
Updates the designated column with adoublevalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column -
x- the new column value - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
-
updateBigDecimal
void updateBigDecimal(String columnLabel, BigDecimal x) throws SQLException
Updates the designated column with ajava.sql.BigDecimalvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column -
x- the new column value - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
-
updateString
void updateString(String columnLabel, String x) throws SQLException
Updates the designated column with aStringvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column -
x- the new column value - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
-
updateBytes
void updateBytes(String columnLabel, byte[] x) throws SQLException
Updates the designated column with a byte array value. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column -
x- the new column value - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
-
updateDate
void updateDate(String columnLabel, Date x) throws SQLException
Updates the designated column with ajava.sql.Datevalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column -
x- the new column value - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
-
updateTime
void updateTime(String columnLabel, Time x) throws SQLException
Updates the designated column with ajava.sql.Timevalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column -
x- the new column value - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
-
updateTimestamp
void updateTimestamp(String columnLabel, Timestamp x) throws SQLException
Updates the designated column with ajava.sql.Timestampvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column -
x- the new column value - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
-
updateAsciiStream
void updateAsciiStream(String columnLabel, InputStream x, int length) throws SQLException
Updates the designated column with an ascii stream value, which will have the specified number of bytes. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column -
x- the new column value -
length- the length of the stream - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
-
updateBinaryStream
void updateBinaryStream(String columnLabel, InputStream x, int length) throws SQLException
Updates the designated column with a binary stream value, which will have the specified number of bytes. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column -
x- the new column value -
length- the length of the stream - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
-
updateCharacterStream
void updateCharacterStream(String columnLabel, Reader reader, int length) throws SQLException
Updates the designated column with a character stream value, which will have the specified number of bytes. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column -
reader- thejava.io.Readerobject containing the new column value -
length- the length of the stream - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
-
updateObject
void updateObject(String columnLabel, Object x, int scaleOrLength) throws SQLException
Updates the designated column with anObjectvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.If the second argument is an
InputStreamthen the stream must contain the number of bytes specified by scaleOrLength. If the second argument is aReaderthen the reader must contain the number of characters specified by scaleOrLength. If these conditions are not true the driver will generate aSQLExceptionwhen the statement is executed.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column -
x- the new column value -
scaleOrLength- for an object ofjava.math.BigDecimal, this is the number of digits after the decimal point. For Java Object typesInputStreamandReader, this is the length of the data in the stream or reader. For all other types, this value will be ignored. - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
-
updateObject
void updateObject(String columnLabel, Object x) throws SQLException
Updates the designated column with anObjectvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column -
x- the new column value - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
-
insertRow
void insertRow() throws SQLExceptionInserts the contents of the insert row into thisResultSetobject and into the database. The cursor must be on the insert row when this method is called.- Throws:
-
SQLException- if a database access error occurs; the result set concurrency isCONCUR_READ_ONLY, this method is called on a closed result set, if this method is called when the cursor is not on the insert row, or if not all of non-nullable columns in the insert row have been given a non-null value -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
-
updateRow
void updateRow() throws SQLExceptionUpdates the underlying database with the new contents of the current row of thisResultSetobject. This method cannot be called when the cursor is on the insert row.- Throws:
-
SQLException- if a database access error occurs; the result set concurrency isCONCUR_READ_ONLY; this method is called on a closed result set or if this method is called when the cursor is on the insert row -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
-
deleteRow
void deleteRow() throws SQLExceptionDeletes the current row from thisResultSetobject and from the underlying database. This method cannot be called when the cursor is on the insert row.- Throws:
-
SQLException- if a database access error occurs; the result set concurrency isCONCUR_READ_ONLY; this method is called on a closed result set or if this method is called when the cursor is on the insert row -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
-
refreshRow
void refreshRow() throws SQLExceptionRefreshes the current row with its most recent value in the database. This method cannot be called when the cursor is on the insert row.The
refreshRowmethod provides a way for an application to explicitly tell the JDBC driver to refetch a row(s) from the database. An application may want to callrefreshRowwhen caching or prefetching is being done by the JDBC driver to fetch the latest value of a row from the database. The JDBC driver may actually refresh multiple rows at once if the fetch size is greater than one.All values are refetched subject to the transaction isolation level and cursor sensitivity. If
refreshRowis called after calling an updater method, but before calling the methodupdateRow, then the updates made to the row are lost. Calling the methodrefreshRowfrequently will likely slow performance.- Throws:
-
SQLException- if a database access error occurs; this method is called on a closed result set; the result set type isTYPE_FORWARD_ONLYor if this method is called when the cursor is on the insert row -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method or this method is not supported for the specified result set type and result set concurrency. - Since:
- 1.2
-
cancelRowUpdates
void cancelRowUpdates() throws SQLExceptionCancels the updates made to the current row in thisResultSetobject. This method may be called after calling an updater method(s) and before calling the methodupdateRowto roll back the updates made to a row. If no updates have been made orupdateRowhas already been called, this method has no effect.- Throws:
-
SQLException- if a database access error occurs; this method is called on a closed result set; the result set concurrency isCONCUR_READ_ONLYor if this method is called when the cursor is on the insert row -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
-
moveToInsertRow
void moveToInsertRow() throws SQLExceptionMoves the cursor to the insert row. The current cursor position is remembered while the cursor is positioned on the insert row. The insert row is a special row associated with an updatable result set. It is essentially a buffer where a new row may be constructed by calling the updater methods prior to inserting the row into the result set. Only the updater, getter, andinsertRowmethods may be called when the cursor is on the insert row. All of the columns in a result set must be given a value each time this method is called before callinginsertRow. An updater method must be called before a getter method can be called on a column value.- Throws:
-
SQLException- if a database access error occurs; this method is called on a closed result set or the result set concurrency isCONCUR_READ_ONLY -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
-
moveToCurrentRow
void moveToCurrentRow() throws SQLExceptionMoves the cursor to the remembered cursor position, usually the current row. This method has no effect if the cursor is not on the insert row.- Throws:
-
SQLException- if a database access error occurs; this method is called on a closed result set or the result set concurrency isCONCUR_READ_ONLY -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
-
getStatement
Statement getStatement() throws SQLException
Retrieves theStatementobject that produced thisResultSetobject. If the result set was generated some other way, such as by aDatabaseMetaDatamethod, this method may returnnull.- Returns:
-
the
Statmentobject that produced thisResultSetobject ornullif the result set was produced some other way - Throws:
-
SQLException- if a database access error occurs or this method is called on a closed result set - Since:
- 1.2
-
getObject
Object getObject(int columnIndex, Map<String,Class<?>> map) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as anObjectin the Java programming language. If the value is an SQLNULL, the driver returns a Javanull. This method uses the givenMapobject for the custom mapping of the SQL structured or distinct type that is being retrieved.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... -
map- ajava.util.Mapobject that contains the mapping from SQL type names to classes in the Java programming language - Returns:
-
an
Objectin the Java programming language representing the SQL value - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
-
getRef
Ref getRef(int columnIndex) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as aRefobject in the Java programming language.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... - Returns:
-
a
Refobject representing an SQLREFvalue - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
-
getBlob
Blob getBlob(int columnIndex) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as aBlobobject in the Java programming language.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... - Returns:
-
a
Blobobject representing the SQLBLOBvalue in the specified column - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
-
getClob
Clob getClob(int columnIndex) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as aClobobject in the Java programming language.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... - Returns:
-
a
Clobobject representing the SQLCLOBvalue in the specified column - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
-
getArray
Array getArray(int columnIndex) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as anArrayobject in the Java programming language.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... - Returns:
-
an
Arrayobject representing the SQLARRAYvalue in the specified column - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
-
getObject
Object getObject(String columnLabel, Map<String,Class<?>> map) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as anObjectin the Java programming language. If the value is an SQLNULL, the driver returns a Javanull. This method uses the specifiedMapobject for custom mapping if appropriate.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column -
map- ajava.util.Mapobject that contains the mapping from SQL type names to classes in the Java programming language - Returns:
-
an
Objectrepresenting the SQL value in the specified column - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
-
getRef
Ref getRef(String columnLabel) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as aRefobject in the Java programming language.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column - Returns:
-
a
Refobject representing the SQLREFvalue in the specified column - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
-
getBlob
Blob getBlob(String columnLabel) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as aBlobobject in the Java programming language.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column - Returns:
-
a
Blobobject representing the SQLBLOBvalue in the specified column - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
-
getClob
Clob getClob(String columnLabel) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as aClobobject in the Java programming language.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column - Returns:
-
a
Clobobject representing the SQLCLOBvalue in the specified column - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
-
getArray
Array getArray(String columnLabel) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as anArrayobject in the Java programming language.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column - Returns:
-
an
Arrayobject representing the SQLARRAYvalue in the specified column - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.2
-
getDate
Date getDate(int columnIndex, Calendar cal) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.sql.Dateobject in the Java programming language. This method uses the given calendar to construct an appropriate millisecond value for the date if the underlying database does not store timezone information.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... -
cal- thejava.util.Calendarobject to use in constructing the date - Returns:
-
the column value as a
java.sql.Dateobject; if the value is SQLNULL, the value returned isnullin the Java programming language - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result set - Since:
- 1.2
-
getDate
Date getDate(String columnLabel, Calendar cal) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.sql.Dateobject in the Java programming language. This method uses the given calendar to construct an appropriate millisecond value for the date if the underlying database does not store timezone information.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column -
cal- thejava.util.Calendarobject to use in constructing the date - Returns:
-
the column value as a
java.sql.Dateobject; if the value is SQLNULL, the value returned isnullin the Java programming language - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result set - Since:
- 1.2
-
getTime
Time getTime(int columnIndex, Calendar cal) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.sql.Timeobject in the Java programming language. This method uses the given calendar to construct an appropriate millisecond value for the time if the underlying database does not store timezone information.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... -
cal- thejava.util.Calendarobject to use in constructing the time - Returns:
-
the column value as a
java.sql.Timeobject; if the value is SQLNULL, the value returned isnullin the Java programming language - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result set - Since:
- 1.2
-
getTime
Time getTime(String columnLabel, Calendar cal) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.sql.Timeobject in the Java programming language. This method uses the given calendar to construct an appropriate millisecond value for the time if the underlying database does not store timezone information.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column -
cal- thejava.util.Calendarobject to use in constructing the time - Returns:
-
the column value as a
java.sql.Timeobject; if the value is SQLNULL, the value returned isnullin the Java programming language - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result set - Since:
- 1.2
-
getTimestamp
Timestamp getTimestamp(int columnIndex, Calendar cal) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.sql.Timestampobject in the Java programming language. This method uses the given calendar to construct an appropriate millisecond value for the timestamp if the underlying database does not store timezone information.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... -
cal- thejava.util.Calendarobject to use in constructing the timestamp - Returns:
-
the column value as a
java.sql.Timestampobject; if the value is SQLNULL, the value returned isnullin the Java programming language - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result set - Since:
- 1.2
-
getTimestamp
Timestamp getTimestamp(String columnLabel, Calendar cal) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.sql.Timestampobject in the Java programming language. This method uses the given calendar to construct an appropriate millisecond value for the timestamp if the underlying database does not store timezone information.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column -
cal- thejava.util.Calendarobject to use in constructing the date - Returns:
-
the column value as a
java.sql.Timestampobject; if the value is SQLNULL, the value returned isnullin the Java programming language - Throws:
-
SQLException- if the columnLabel is not valid or if a database access error occurs or this method is called on a closed result set - Since:
- 1.2
-
getURL
URL getURL(int columnIndex) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.net.URLobject in the Java programming language.- Parameters:
-
columnIndex- the index of the column 1 is the first, 2 is the second,... - Returns:
-
the column value as a
java.net.URLobject; if the value is SQLNULL, the value returned isnullin the Java programming language - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs; this method is called on a closed result set or if a URL is malformed -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.4
-
getURL
URL getURL(String columnLabel) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.net.URLobject in the Java programming language.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column - Returns:
-
the column value as a
java.net.URLobject; if the value is SQLNULL, the value returned isnullin the Java programming language - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs; this method is called on a closed result set or if a URL is malformed -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.4
-
updateRef
void updateRef(int columnIndex, Ref x) throws SQLExceptionUpdates the designated column with ajava.sql.Refvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... -
x- the new column value - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.4
-
updateRef
void updateRef(String columnLabel, Ref x) throws SQLException
Updates the designated column with ajava.sql.Refvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column -
x- the new column value - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.4
-
updateBlob
void updateBlob(int columnIndex, Blob x) throws SQLExceptionUpdates the designated column with ajava.sql.Blobvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... -
x- the new column value - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.4
-
updateBlob
void updateBlob(String columnLabel, Blob x) throws SQLException
Updates the designated column with ajava.sql.Blobvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column -
x- the new column value - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.4
-
updateClob
void updateClob(int columnIndex, Clob x) throws SQLExceptionUpdates the designated column with ajava.sql.Clobvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... -
x- the new column value - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.4
-
updateClob
void updateClob(String columnLabel, Clob x) throws SQLException
Updates the designated column with ajava.sql.Clobvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column -
x- the new column value - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.4
-
updateArray
void updateArray(int columnIndex, Array x) throws SQLExceptionUpdates the designated column with ajava.sql.Arrayvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... -
x- the new column value - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.4
-
updateArray
void updateArray(String columnLabel, Array x) throws SQLException
Updates the designated column with ajava.sql.Arrayvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column -
x- the new column value - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.4
-
getRowId
RowId getRowId(int columnIndex) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.sql.RowIdobject in the Java programming language.- Parameters:
-
columnIndex- the first column is 1, the second 2, ... - Returns:
-
the column value; if the value is a SQL
NULLthe value returned isnull - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.6
-
getRowId
RowId getRowId(String columnLabel) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.sql.RowIdobject in the Java programming language.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column - Returns:
-
the column value ; if the value is a SQL
NULLthe value returned isnull - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.6
-
updateRowId
void updateRowId(int columnIndex, RowId x) throws SQLExceptionUpdates the designated column with aRowIdvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
-
columnIndex- the first column is 1, the second 2, ... -
x- the column value - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.6
-
updateRowId
void updateRowId(String columnLabel, RowId x) throws SQLException
Updates the designated column with aRowIdvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column -
x- the column value - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.6
-
getHoldability
int getHoldability() throws SQLExceptionRetrieves the holdability of thisResultSetobject- Returns:
-
either
ResultSet.HOLD_CURSORS_OVER_COMMITorResultSet.CLOSE_CURSORS_AT_COMMIT - Throws:
-
SQLException- if a database access error occurs or this method is called on a closed result set - Since:
- 1.6
-
isClosed
boolean isClosed() throws SQLExceptionRetrieves whether thisResultSetobject has been closed. AResultSetis closed if the method close has been called on it, or if it is automatically closed.- Returns:
-
true if this
ResultSetobject is closed; false if it is still open - Throws:
-
SQLException- if a database access error occurs - Since:
- 1.6
-
updateNString
void updateNString(int columnIndex, String nString) throws SQLExceptionUpdates the designated column with aStringvalue. It is intended for use when updatingNCHAR,NVARCHARandLONGNVARCHARcolumns. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
-
columnIndex- the first column is 1, the second 2, ... -
nString- the value for the column to be updated - Throws:
-
SQLException- if the columnIndex is not valid; if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; this method is called on a closed result set; the result set concurrency isCONCUR_READ_ONLYor if a database access error occurs -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.6
-
updateNString
void updateNString(String columnLabel, String nString) throws SQLException
Updates the designated column with aStringvalue. It is intended for use when updatingNCHAR,NVARCHARandLONGNVARCHARcolumns. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column -
nString- the value for the column to be updated - Throws:
-
SQLException- if the columnLabel is not valid; if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; this method is called on a closed result set; the result set concurrency isCONCUR_READ_ONLYor if a database access error occurs -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.6
-
updateNClob
void updateNClob(int columnIndex, NClob nClob) throws SQLExceptionUpdates the designated column with ajava.sql.NClobvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
-
columnIndex- the first column is 1, the second 2, ... -
nClob- the value for the column to be updated - Throws:
-
SQLException- if the columnIndex is not valid; if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; this method is called on a closed result set; if a database access error occurs or the result set concurrency isCONCUR_READ_ONLY -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.6
-
updateNClob
void updateNClob(String columnLabel, NClob nClob) throws SQLException
Updates the designated column with ajava.sql.NClobvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column -
nClob- the value for the column to be updated - Throws:
-
SQLException- if the columnLabel is not valid; if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; this method is called on a closed result set; if a database access error occurs or the result set concurrency isCONCUR_READ_ONLY -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.6
-
getNClob
NClob getNClob(int columnIndex) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as aNClobobject in the Java programming language.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... - Returns:
-
a
NClobobject representing the SQLNCLOBvalue in the specified column - Throws:
-
SQLException- if the columnIndex is not valid; if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; this method is called on a closed result set or if a database access error occurs -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.6
-
getNClob
NClob getNClob(String columnLabel) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as aNClobobject in the Java programming language.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column - Returns:
-
a
NClobobject representing the SQLNCLOBvalue in the specified column - Throws:
-
SQLException- if the columnLabel is not valid; if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; this method is called on a closed result set or if a database access error occurs -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.6
-
getSQLXML
SQLXML getSQLXML(int columnIndex) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetas ajava.sql.SQLXMLobject in the Java programming language.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... - Returns:
-
a
SQLXMLobject that maps anSQL XMLvalue - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.6
-
getSQLXML
SQLXML getSQLXML(String columnLabel) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetas ajava.sql.SQLXMLobject in the Java programming language.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column - Returns:
-
a
SQLXMLobject that maps anSQL XMLvalue - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.6
-
updateSQLXML
void updateSQLXML(int columnIndex, SQLXML xmlObject) throws SQLExceptionUpdates the designated column with ajava.sql.SQLXMLvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
-
columnIndex- the first column is 1, the second 2, ... -
xmlObject- the value for the column to be updated - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs; this method is called on a closed result set; thejava.xml.transform.Result,WriterorOutputStreamhas not been closed for theSQLXMLobject; if there is an error processing the XML value or the result set concurrency isCONCUR_READ_ONLY. ThegetCausemethod of the exception may provide a more detailed exception, for example, if the stream does not contain valid XML. -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.6
-
updateSQLXML
void updateSQLXML(String columnLabel, SQLXML xmlObject) throws SQLException
Updates the designated column with ajava.sql.SQLXMLvalue. The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead theupdateRoworinsertRowmethods are called to update the database.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column -
xmlObject- the column value - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs; this method is called on a closed result set; thejava.xml.transform.Result,WriterorOutputStreamhas not been closed for theSQLXMLobject; if there is an error processing the XML value or the result set concurrency isCONCUR_READ_ONLY. ThegetCausemethod of the exception may provide a more detailed exception, for example, if the stream does not contain valid XML. -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.6
-
getNString
String getNString(int columnIndex) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as aStringin the Java programming language. It is intended for use when accessingNCHAR,NVARCHARandLONGNVARCHARcolumns.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... - Returns:
-
the column value; if the value is SQL
NULL, the value returned isnull - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.6
-
getNString
String getNString(String columnLabel) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as aStringin the Java programming language. It is intended for use when accessingNCHAR,NVARCHARandLONGNVARCHARcolumns.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column - Returns:
-
the column value; if the value is SQL
NULL, the value returned isnull - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.6
-
getNCharacterStream
Reader getNCharacterStream(int columnIndex) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.io.Readerobject. It is intended for use when accessingNCHAR,NVARCHARandLONGNVARCHARcolumns.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... - Returns:
-
a
java.io.Readerobject that contains the column value; if the value is SQLNULL, the value returned isnullin the Java programming language. - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.6
-
getNCharacterStream
Reader getNCharacterStream(String columnLabel) throws SQLException
Retrieves the value of the designated column in the current row of thisResultSetobject as ajava.io.Readerobject. It is intended for use when accessingNCHAR,NVARCHARandLONGNVARCHARcolumns.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column - Returns:
-
a
java.io.Readerobject that contains the column value; if the value is SQLNULL, the value returned isnullin the Java programming language - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.6
-
updateNCharacterStream
void updateNCharacterStream(int columnIndex, Reader x, long length) throws SQLExceptionUpdates the designated column with a character stream value, which will have the specified number of bytes. The driver does the necessary conversion from Java character format to the national character set in the database. It is intended for use when updatingNCHAR,NVARCHARandLONGNVARCHARcolumns.The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the
updateRoworinsertRowmethods are called to update the database.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... -
x- the new column value -
length- the length of the stream - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.6
-
updateNCharacterStream
void updateNCharacterStream(String columnLabel, Reader reader, long length) throws SQLException
Updates the designated column with a character stream value, which will have the specified number of bytes. The driver does the necessary conversion from Java character format to the national character set in the database. It is intended for use when updatingNCHAR,NVARCHARandLONGNVARCHARcolumns.The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the
updateRoworinsertRowmethods are called to update the database.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column -
reader- thejava.io.Readerobject containing the new column value -
length- the length of the stream - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.6
-
updateAsciiStream
void updateAsciiStream(int columnIndex, InputStream x, long length) throws SQLExceptionUpdates the designated column with an ascii stream value, which will have the specified number of bytes.The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the
updateRoworinsertRowmethods are called to update the database.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... -
x- the new column value -
length- the length of the stream - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.6
-
updateBinaryStream
void updateBinaryStream(int columnIndex, InputStream x, long length) throws SQLExceptionUpdates the designated column with a binary stream value, which will have the specified number of bytes.The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the
updateRoworinsertRowmethods are called to update the database.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... -
x- the new column value -
length- the length of the stream - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.6
-
updateCharacterStream
void updateCharacterStream(int columnIndex, Reader x, long length) throws SQLExceptionUpdates the designated column with a character stream value, which will have the specified number of bytes.The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the
updateRoworinsertRowmethods are called to update the database.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... -
x- the new column value -
length- the length of the stream - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.6
-
updateAsciiStream
void updateAsciiStream(String columnLabel, InputStream x, long length) throws SQLException
Updates the designated column with an ascii stream value, which will have the specified number of bytes.The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the
updateRoworinsertRowmethods are called to update the database.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column -
x- the new column value -
length- the length of the stream - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.6
-
updateBinaryStream
void updateBinaryStream(String columnLabel, InputStream x, long length) throws SQLException
Updates the designated column with a binary stream value, which will have the specified number of bytes.The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the
updateRoworinsertRowmethods are called to update the database.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column -
x- the new column value -
length- the length of the stream - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.6
-
updateCharacterStream
void updateCharacterStream(String columnLabel, Reader reader, long length) throws SQLException
Updates the designated column with a character stream value, which will have the specified number of bytes.The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the
updateRoworinsertRowmethods are called to update the database.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column -
reader- thejava.io.Readerobject containing the new column value -
length- the length of the stream - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.6
-
updateBlob
void updateBlob(int columnIndex, InputStream inputStream, long length) throws SQLExceptionUpdates the designated column using the given input stream, which will have the specified number of bytes.The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the
updateRoworinsertRowmethods are called to update the database.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... -
inputStream- An object that contains the data to set the parameter value to. -
length- the number of bytes in the parameter data. - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.6
-
updateBlob
void updateBlob(String columnLabel, InputStream inputStream, long length) throws SQLException
Updates the designated column using the given input stream, which will have the specified number of bytes.The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the
updateRoworinsertRowmethods are called to update the database.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column -
inputStream- An object that contains the data to set the parameter value to. -
length- the number of bytes in the parameter data. - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.6
-
updateClob
void updateClob(int columnIndex, Reader reader, long length) throws SQLExceptionUpdates the designated column using the givenReaderobject, which is the given number of characters long. When a very large UNICODE value is input to aLONGVARCHARparameter, it may be more practical to send it via ajava.io.Readerobject. The JDBC driver will do any necessary conversion from UNICODE to the database char format.The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the
updateRoworinsertRowmethods are called to update the database.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... -
reader- An object that contains the data to set the parameter value to. -
length- the number of characters in the parameter data. - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.6
-
updateClob
void updateClob(String columnLabel, Reader reader, long length) throws SQLException
Updates the designated column using the givenReaderobject, which is the given number of characters long. When a very large UNICODE value is input to aLONGVARCHARparameter, it may be more practical to send it via ajava.io.Readerobject. The JDBC driver will do any necessary conversion from UNICODE to the database char format.The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the
updateRoworinsertRowmethods are called to update the database.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column -
reader- An object that contains the data to set the parameter value to. -
length- the number of characters in the parameter data. - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.6
-
updateNClob
void updateNClob(int columnIndex, Reader reader, long length) throws SQLExceptionUpdates the designated column using the givenReaderobject, which is the given number of characters long. When a very large UNICODE value is input to aLONGVARCHARparameter, it may be more practical to send it via ajava.io.Readerobject. The JDBC driver will do any necessary conversion from UNICODE to the database char format.The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the
updateRoworinsertRowmethods are called to update the database.- Parameters:
-
columnIndex- the first column is 1, the second 2, ... -
reader- An object that contains the data to set the parameter value to. -
length- the number of characters in the parameter data. - Throws:
-
SQLException- if the columnIndex is not valid; if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; this method is called on a closed result set, if a database access error occurs or the result set concurrency isCONCUR_READ_ONLY -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.6
-
updateNClob
void updateNClob(String columnLabel, Reader reader, long length) throws SQLException
Updates the designated column using the givenReaderobject, which is the given number of characters long. When a very large UNICODE value is input to aLONGVARCHARparameter, it may be more practical to send it via ajava.io.Readerobject. The JDBC driver will do any necessary conversion from UNICODE to the database char format.The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the
updateRoworinsertRowmethods are called to update the database.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column -
reader- An object that contains the data to set the parameter value to. -
length- the number of characters in the parameter data. - Throws:
-
SQLException- if the columnLabel is not valid; if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; this method is called on a closed result set; if a database access error occurs or the result set concurrency isCONCUR_READ_ONLY -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.6
-
updateNCharacterStream
void updateNCharacterStream(int columnIndex, Reader x) throws SQLExceptionUpdates the designated column with a character stream value. The data will be read from the stream as needed until end-of-stream is reached. The driver does the necessary conversion from Java character format to the national character set in the database. It is intended for use when updatingNCHAR,NVARCHARandLONGNVARCHARcolumns.The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the
updateRoworinsertRowmethods are called to update the database.Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of
updateNCharacterStreamwhich takes a length parameter.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... -
x- the new column value - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.6
-
updateNCharacterStream
void updateNCharacterStream(String columnLabel, Reader reader) throws SQLException
Updates the designated column with a character stream value. The data will be read from the stream as needed until end-of-stream is reached. The driver does the necessary conversion from Java character format to the national character set in the database. It is intended for use when updatingNCHAR,NVARCHARandLONGNVARCHARcolumns.The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the
updateRoworinsertRowmethods are called to update the database.Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of
updateNCharacterStreamwhich takes a length parameter.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column -
reader- thejava.io.Readerobject containing the new column value - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.6
-
updateAsciiStream
void updateAsciiStream(int columnIndex, InputStream x) throws SQLExceptionUpdates the designated column with an ascii stream value. The data will be read from the stream as needed until end-of-stream is reached.The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the
updateRoworinsertRowmethods are called to update the database.Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of
updateAsciiStreamwhich takes a length parameter.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... -
x- the new column value - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.6
-
updateBinaryStream
void updateBinaryStream(int columnIndex, InputStream x) throws SQLExceptionUpdates the designated column with a binary stream value. The data will be read from the stream as needed until end-of-stream is reached.The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the
updateRoworinsertRowmethods are called to update the database.Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of
updateBinaryStreamwhich takes a length parameter.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... -
x- the new column value - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.6
-
updateCharacterStream
void updateCharacterStream(int columnIndex, Reader x) throws SQLExceptionUpdates the designated column with a character stream value. The data will be read from the stream as needed until end-of-stream is reached.The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the
updateRoworinsertRowmethods are called to update the database.Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of
updateCharacterStreamwhich takes a length parameter.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... -
x- the new column value - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.6
-
updateAsciiStream
void updateAsciiStream(String columnLabel, InputStream x) throws SQLException
Updates the designated column with an ascii stream value. The data will be read from the stream as needed until end-of-stream is reached.The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the
updateRoworinsertRowmethods are called to update the database.Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of
updateAsciiStreamwhich takes a length parameter.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column -
x- the new column value - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.6
-
updateBinaryStream
void updateBinaryStream(String columnLabel, InputStream x) throws SQLException
Updates the designated column with a binary stream value. The data will be read from the stream as needed until end-of-stream is reached.The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the
updateRoworinsertRowmethods are called to update the database.Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of
updateBinaryStreamwhich takes a length parameter.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column -
x- the new column value - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.6
-
updateCharacterStream
void updateCharacterStream(String columnLabel, Reader reader) throws SQLException
Updates the designated column with a character stream value. The data will be read from the stream as needed until end-of-stream is reached.The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the
updateRoworinsertRowmethods are called to update the database.Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of
updateCharacterStreamwhich takes a length parameter.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column -
reader- thejava.io.Readerobject containing the new column value - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.6
-
updateBlob
void updateBlob(int columnIndex, InputStream inputStream) throws SQLExceptionUpdates the designated column using the given input stream. The data will be read from the stream as needed until end-of-stream is reached.The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the
updateRoworinsertRowmethods are called to update the database.Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of
updateBlobwhich takes a length parameter.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... -
inputStream- An object that contains the data to set the parameter value to. - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.6
-
updateBlob
void updateBlob(String columnLabel, InputStream inputStream) throws SQLException
Updates the designated column using the given input stream. The data will be read from the stream as needed until end-of-stream is reached.The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the
updateRoworinsertRowmethods are called to update the database.Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of
updateBlobwhich takes a length parameter.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column -
inputStream- An object that contains the data to set the parameter value to. - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.6
-
updateClob
void updateClob(int columnIndex, Reader reader) throws SQLExceptionUpdates the designated column using the givenReaderobject. The data will be read from the stream as needed until end-of-stream is reached. The JDBC driver will do any necessary conversion from UNICODE to the database char format.The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the
updateRoworinsertRowmethods are called to update the database.Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of
updateClobwhich takes a length parameter.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... -
reader- An object that contains the data to set the parameter value to. - Throws:
-
SQLException- if the columnIndex is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.6
-
updateClob
void updateClob(String columnLabel, Reader reader) throws SQLException
Updates the designated column using the givenReaderobject. The data will be read from the stream as needed until end-of-stream is reached. The JDBC driver will do any necessary conversion from UNICODE to the database char format.The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the
updateRoworinsertRowmethods are called to update the database.Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of
updateClobwhich takes a length parameter.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column -
reader- An object that contains the data to set the parameter value to. - Throws:
-
SQLException- if the columnLabel is not valid; if a database access error occurs; the result set concurrency isCONCUR_READ_ONLYor this method is called on a closed result set -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.6
-
updateNClob
void updateNClob(int columnIndex, Reader reader) throws SQLExceptionUpdates the designated column using the givenReaderThe data will be read from the stream as needed until end-of-stream is reached. The JDBC driver will do any necessary conversion from UNICODE to the database char format.The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the
updateRoworinsertRowmethods are called to update the database.Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of
updateNClobwhich takes a length parameter.- Parameters:
-
columnIndex- the first column is 1, the second 2, ... -
reader- An object that contains the data to set the parameter value to. - Throws:
-
SQLException- if the columnIndex is not valid; if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; this method is called on a closed result set, if a database access error occurs or the result set concurrency isCONCUR_READ_ONLY -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.6
-
updateNClob
void updateNClob(String columnLabel, Reader reader) throws SQLException
Updates the designated column using the givenReaderobject. The data will be read from the stream as needed until end-of-stream is reached. The JDBC driver will do any necessary conversion from UNICODE to the database char format.The updater methods are used to update column values in the current row or the insert row. The updater methods do not update the underlying database; instead the
updateRoworinsertRowmethods are called to update the database.Note: Consult your JDBC driver documentation to determine if it might be more efficient to use a version of
updateNClobwhich takes a length parameter.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column -
reader- An object that contains the data to set the parameter value to. - Throws:
-
SQLException- if the columnLabel is not valid; if the driver does not support national character sets; if the driver can detect that a data conversion error could occur; this method is called on a closed result set; if a database access error occurs or the result set concurrency isCONCUR_READ_ONLY -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.6
-
getObject
<T> T getObject(int columnIndex, Class<T> type) throws SQLExceptionRetrieves the value of the designated column in the current row of this
ResultSetobject and will convert from the SQL type of the column to the requested Java data type, if the conversion is supported. If the conversion is not supported or null is specified for the type, aSQLExceptionis thrown.At a minimum, an implementation must support the conversions defined in Appendix B, Table B-3 and conversion of appropriate user defined SQL types to a Java type which implements
SQLData, orStruct. Additional conversions may be supported and are vendor defined.- Parameters:
-
columnIndex- the first column is 1, the second is 2, ... -
type- Class representing the Java data type to convert the designated column to. - Returns:
-
an instance of
typeholding the column value - Throws:
-
SQLException- if conversion is not supported, type is null or another error occurs. The getCause() method of the exception may provide a more detailed exception, for example, if a conversion error occurs -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.7
-
getObject
<T> T getObject(String columnLabel, Class<T> type) throws SQLException
Retrieves the value of the designated column in the current row of this
ResultSetobject and will convert from the SQL type of the column to the requested Java data type, if the conversion is supported. If the conversion is not supported or null is specified for the type, aSQLExceptionis thrown.At a minimum, an implementation must support the conversions defined in Appendix B, Table B-3 and conversion of appropriate user defined SQL types to a Java type which implements
SQLData, orStruct. Additional conversions may be supported and are vendor defined.- Parameters:
-
columnLabel- the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column -
type- Class representing the Java data type to convert the designated column to. - Returns:
-
an instance of
typeholding the column value - Throws:
-
SQLException- if conversion is not supported, type is null or another error occurs. The getCause() method of the exception may provide a more detailed exception, for example, if a conversion error occurs -
SQLFeatureNotSupportedException- if the JDBC driver does not support this method - Since:
- 1.7
-
-

