亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

JDBC基礎教程之ResultSet對象

2019-11-18 11:36:38
字體:
來源:轉載
供稿:網友

概述

  ResultSet 包含符合 SQL 語句中條件的所有行,并且它通過一套 get 方法(這些 get 方法可以訪問當前行中的不同列)提供了對這些行中數據的訪問。ResultSet.next 方法用于移動到 ResultSet 中的下一行,使下一行成為當前行。



  結果集一般是一個表,其中有查詢所返回的列標題及相應的值。例如,假如查詢為 SELECT a, b, c FROM Table1,則結果集將具有如下形式:

a b c
-------- --------- --------
12345 Cupertino CA
83472 Redmond WA
83492 Boston MA
  下面的代碼段是執行 SQL 語句的示例。該 SQL 語句將返回行集合,其中列 1 為 int,列 2 為 String,而列 3 則為字節數組:

java.sql.Statement stmt = conn.createStatement();
ResultSet r = stmt.executeQuery("SELECT a, b, c FROM Table1");
while (r.next())
{
 // 打印當前行的值。
 int i = r.getInt("a");
 String s = r.getString("b");
 float f = r.getFloat("c");
 System.out.}
  1、行和光標

  ResultSet 維護指向其當前數據行的光標。每調用一次 next 方法,光標向下移動一行。最初它位于第一行之前,因此第一次調用 next 將把光標置于第一行上,使它成為當前行。隨著每次調用 next 導致光標向下移動一行,按照從上至下的次序獲取ResultSet 行。

  在 ResultSet 對象或其父輩 Statement 對象關閉之前,光標一直保持有效。

  在 SQL 中,結果表的光標是有名字的。假如
數據庫答應定位更新或定位刪除,則需要將光標的名字作為參數提供給更新或刪除命令。可通過調用方法getCursorName 獲得光標名。

  注重:不是所有的 DBMS 都支持定位更新和刪除??墒褂?DatabaseMetaData.supportsPositionedDelete 和 supportsPositionedUpdate 方法來檢查特定連接是否支持這些操作。當支持這些操作時,DBMS/驅動程序必須確保適當鎖定選定行,以使定位更新不會導致更新異?;蚱渌l問題。
QQ病毒 騰訊QQ空間代碼專題 PPT教程專題 ADSL應用面面俱到 fireworks教程專題 計算機和網絡技術基礎知識 校園網專題 網吧技術專題

2、列

  方法 getXXX 提供了獲取當前行中某列值的途徑。在每一行內,可按任何次序獲取列值。但為了保證可移植性,應該從左至右獲取列值,并且一次性地讀取列值。列名或列號可用于標識要從中獲取數據的列。例如,假如 ResultSet 對象 rs 的第二列名為“title”,并將值存儲為字符串,則下列任一代碼將獲取存儲在該列中的值:

String s = rs.getString("title");
String s = rs.getString(2);
  注重列是從左至右編號的,并且從列 1 開始。同時,用作 getXXX 方法的輸入的列名不區分大小寫。

  提供使用列名這個選項的目的是為了讓在查詢中指定列名的用戶可使用相同的名字作為 getXXX 方法的參數。另一方面,假如 select 語句未指定列名(例如在“select * from table1”中或列是導出的時),則應該使用列號。這些情況下,
戶將無法確切知道列名。

  有些情況下,SQL 查詢返回的結果集中可能有多個列具有相同的名字。假如列名用作 getXXX 方法的參數,則 getXXX 將返回第一個匹配列名的值。因而,假如多個列具有相同的名字,則需要使用列索引來確保檢索了正確的列值。這時,使用列號效率要稍微高一些。

  關于 ResultSet 中列的信息,可通過調用方法 ResultSet.getMetaData 得到。返回的 ResultSetMetaData 對象將給出其 ResultSet 對象各列的編號、類型和屬性。

  假如列名已知,但不知其索引,則可用方法 findColumn 得到其列號。

  3、數據類型和轉換

  對于 getXXX 方法,JDBC 驅動程序試圖將基本數據轉換成指定 Java 類型,然后返回適合的 Java 值。例如,假如 getXXX 方法為 getString,而基本數據庫中數據類型為 VARCHAR,則 JDBC 驅動程序將把 VARCHAR 轉換成 Java String。getString 的返回值將為 Java String 對象。

  下表顯示了答應用 getXXX 獲取的 JDBC 類型及推薦用它獲取的 JDBC 類型(通用SQL 類型)。小寫的 x 表示答應 getXXX 方法獲取該數據類型;大寫的 X 表示對該數據類型推薦使用 getXXX 方法。例如,除了 getBytes 和 getBinaryStream 之外的任何 getXXX 方法都可用來獲取 LONGVARCHAR 值,但是推薦根據返回的數據類型使用 getAsciiStream 或 getUnicodeStream 方法。方法 getObject 將任何數據類型返回為 Java Object。當基本數據類型是特定于數據庫的抽象類型或當通用應用程序需要接受任何數據類型時,它是非常有用的。

  可使用 ResultSet.getXXX 方法獲取常見的 JDBC 數據類型。

  “x”表示該 getXXX 方法可合法地用于獲取給定 JDBC 類型。

  “X”表示推薦使用該 getXXX 方法來獲取給定 JDBC 類型。

  getByte X x x x x x x x x x x x x            
  getShort x X x x x x x x x x x x x            
  getInt x x X x x x x x x x x x x            
  getLong x x x X x x x x x x x x x            
  getFloat x x x x X x x x x x x x x            
  getDouble x x x x x X X x x x x x x            
  getBigDecimal x x x x x x x X X x x x x            
  getBoolean x x x x x x x x x X x x x            
  getString x x x x x x x x x x X X x x x x x x x
  getBytes                           X X x      
  getDate                     x x x       X   x
  getTime                     x x x         X x

  getTimestamp                     x x x       x   X
  getAsciiStream                     x x X x x x      
  getUnicodeStream                     x x X x x x      
  getBinaryStream                           x x X      
  getObject x x x x x x x x x x x x x x x x x x x

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美国产在线视频| 亚洲电影在线看| 日韩欧美中文在线| 亚洲a∨日韩av高清在线观看| 精品二区三区线观看| 亚洲三级av在线| 亚洲第一天堂无码专区| 亚洲色图13p| 国产精品v日韩精品| 亚洲在线观看视频网站| 国产精品96久久久久久| 97视频免费在线看| 日韩欧美精品在线观看| 成人在线观看视频网站| 不卡伊人av在线播放| 中文字幕免费精品一区| 亚洲在线视频福利| 成人网页在线免费观看| 欧美一区二区三区精品电影| 色噜噜狠狠狠综合曰曰曰| zzjj国产精品一区二区| www.欧美三级电影.com| 日韩美女在线观看一区| 午夜免费日韩视频| 久久不射热爱视频精品| 最近的2019中文字幕免费一页| 91久久久亚洲精品| 91亚洲精品久久久久久久久久久久| 久久精品国产久精国产思思| 日韩在线高清视频| 亚洲人在线观看| 性欧美亚洲xxxx乳在线观看| 亚洲欧洲中文天堂| 午夜免费日韩视频| 国产精品夜色7777狼人| 狠狠躁夜夜躁人人爽超碰91| 亚洲欧美日韩一区二区在线| 91亚洲精品一区二区| 成人黄色短视频在线观看| 国产欧美日韩综合精品| 自拍偷拍亚洲在线| 久久九九国产精品怡红院| 欧美视频在线免费| 992tv成人免费视频| 97精品视频在线观看| 国产精品久久久久久亚洲调教| 亚洲国产精品成人va在线观看| 欧美成人在线免费| 成人免费观看49www在线观看| 中文字幕亚洲一区在线观看| 韩国三级日本三级少妇99| 日韩中文字幕在线精品| 欧美在线视频免费播放| 亚洲欧美国产制服动漫| 欧美区二区三区| 亚洲国产毛片完整版| 成人在线播放av| 91中文字幕一区| 青青草精品毛片| 欧美日韩另类视频| 亚洲精品国精品久久99热| 欧美日韩一区二区免费在线观看| 国产精品1234| 中文字幕欧美精品在线| 欧美亚洲视频在线看网址| 亚洲精品国精品久久99热| 九九热这里只有在线精品视| 97精品国产97久久久久久| 欧美黑人又粗大| 亚洲毛茸茸少妇高潮呻吟| 欧美午夜久久久| 91色中文字幕| 国产91精品在线播放| 国产精品久久久久久五月尺| 青青草成人在线| 国产视频久久久| 亚洲老板91色精品久久| 91高清视频在线免费观看| 国产精品男人的天堂| 欧美最猛性xxxxx(亚洲精品)| 亚洲男女性事视频| 亚洲国产精品va在线观看黑人| 欧美激情亚洲激情| 91精品视频在线看| 欧美精品激情在线观看| 国产成人综合亚洲| 久久福利网址导航| 亚洲精品xxxx| 日韩中文字幕国产| 国产一区二中文字幕在线看| 精品丝袜一区二区三区| 欧美一区二区三区免费视| 欧美第一黄网免费网站| 国产精品一区专区欧美日韩| 亚洲国产精品99| 91在线观看免费高清完整版在线观看| 国产精品久久久久久av下载红粉| 日本一区二区在线播放| 色久欧美在线视频观看| 日韩精品日韩在线观看| 久久91亚洲精品中文字幕| 亚洲福利视频二区| 欧美日韩人人澡狠狠躁视频| 亚洲免费人成在线视频观看| 精品日韩视频在线观看| 亚洲电影中文字幕| 97视频网站入口| 91久久久国产精品| 欧美疯狂做受xxxx高潮| 国产欧美日韩免费看aⅴ视频| 国产精品久久久久久久久影视| 亚洲桃花岛网站| 欧美与欧洲交xxxx免费观看| 日韩精品在线播放| 日韩中文字幕不卡视频| 91精品国产91久久| 国产成人a亚洲精品| 亚洲天堂男人天堂| 亚洲国产欧美一区二区三区同亚洲| 成人午夜两性视频| 欧美色视频日本高清在线观看| 青青久久av北条麻妃黑人| 亚洲综合精品一区二区| 国产亚洲在线播放| 欧美丰满少妇xxxxx做受| 欧美最顶级的aⅴ艳星| 日韩影视在线观看| 亚洲视频专区在线| 国产精品一区二区在线| 国产日韩av在线| 久久国产精品久久久| 国产精品久久久久高潮| 日本成人精品在线| 国产色婷婷国产综合在线理论片a| 国产91色在线|| 日本道色综合久久影院| 亚洲免费影视第一页| 亚洲欧洲激情在线| 97色在线观看免费视频| 精品亚洲夜色av98在线观看| 国语对白做受69| 92国产精品久久久久首页| 日本国产精品视频| 日韩一区二区精品视频| 久久久女人电视剧免费播放下载| 久操成人在线视频| 国产不卡av在线免费观看| 亚洲欧美在线免费| 国产免费一区二区三区香蕉精| 久久精品一区中文字幕| 亚洲影院高清在线| 国产欧美日韩中文字幕在线| 91性高湖久久久久久久久_久久99| 国a精品视频大全| 日韩成人在线视频| 色婷婷久久av| 亚洲色图校园春色| 国产极品精品在线观看| 亚洲一区999| 成人免费看吃奶视频网站| 亚洲欧美精品在线| 国产在线久久久| 亚洲电影免费观看高清完整版| 久久中文字幕国产|