• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            woaidongmao

            文章均收錄自他人博客,但不喜標(biāo)題前加-[轉(zhuǎn)貼],因其丑陋,見諒!~
            隨筆 - 1469, 文章 - 0, 評(píng)論 - 661, 引用 - 0
            數(shù)據(jù)加載中……

            RowSet與ResultSet的區(qū)別

            RowSet JDBC   2.0 開始提供的一個(gè)擴(kuò)展包的接口,該接口可以允許我們作很多 ResultSet 不可做的事情。 RowSet 一共有 3 種具體的行集,它們是 CachedRowSet JdbcRowSet WebRowSet 任何類型的 rowset 都實(shí)現(xiàn)了 RowSet 接口, RowSet 接口擴(kuò)展了 ResultSet 接口。這樣 RowSet 對(duì)象就有了 ResultSet 對(duì)象所有的功能,能夠通過 getXXX 方法得到數(shù)據(jù)庫中的某列值,通過 updateXXX 方法可以修改某列值,可以移動(dòng)光標(biāo),將當(dāng)前行變?yōu)榱硪恍小?span lang="EN-US">  
               
               
            作為一個(gè) JavaBean 組件, RowSet 對(duì)象可以增加或者刪除一個(gè) listener( 監(jiān)聽者 ) ,可以 get 或者 set 其屬性值。這些屬性中,有一個(gè)是 字符串,表示一個(gè)對(duì)數(shù)據(jù)庫 Query 請(qǐng)求。 RowSet 接口定義了設(shè)定參數(shù)的方法,也提供了執(zhí)行這個(gè)請(qǐng)求的方法。這意味著 RowSet 對(duì)象能夠執(zhí)行查詢請(qǐng) 求,可以根據(jù)它產(chǎn)生的結(jié)果集進(jìn)行計(jì)算。同樣, RowSet 也可以根據(jù)任何表格數(shù)據(jù)源進(jìn)行計(jì)算,所以,它不局限于關(guān)系數(shù)據(jù)庫。  
               
             
            從數(shù)據(jù)源得到數(shù)據(jù)之后, RowSet 對(duì)象可以和數(shù)據(jù)源斷開連接, rowset 也可以被序列化。這樣, RowSet 就可以通過網(wǎng)絡(luò)傳遞給瘦客戶端。  
               
              RowSet
            可以被重新連接到數(shù)據(jù)源,這樣,做的修改就可以存回到數(shù)據(jù)源中去。如果產(chǎn)生了一個(gè) listener ,當(dāng) RowSet 的當(dāng)前行移動(dòng),或者數(shù)據(jù)被 修改的時(shí)候,監(jiān)聽者就會(huì)收到通知。例如,圖形用戶界面組件可以注冊(cè)成為監(jiān)聽者,當(dāng) RowSet 更改的時(shí)候,圖形用戶界面接到通知,就可以修改界面,來符合 它所表示的 RowSet   
               
             
            根據(jù)不同的需要, RowSet 接口可以通過多種方法來實(shí)現(xiàn)。 Java   software 已經(jīng)寫了一個(gè) CachedRowSet 實(shí)現(xiàn),從 http://developer.java.sun.com/developer /earlyAccess/crs/index.html 中可以得到這個(gè)實(shí)現(xiàn)。  
               
             
            CachedRowSet 類不一樣的是, JDBC   RowSet 類總是保持一個(gè)和數(shù)據(jù)源的連接。其實(shí),它是在 ResultSet 的外層進(jìn)行了一次包裝,基于 JDBC 技術(shù)的驅(qū)動(dòng)看起來像是一個(gè)簡(jiǎn)單的 JavaBean 組件一樣。  
               
             
            JDBC   3.0   API 中的有一個(gè)新特性就是可保持的結(jié)果集的支持。下面對(duì)其進(jìn)行簡(jiǎn)單介紹。  
               
             
            在上面一節(jié),介紹了結(jié)果集的可滾動(dòng)性和可更新性,但是從 ResultSet 接口的 JDK 文檔中還可以看到這樣兩個(gè)特性參數(shù):  
               
              ●   CLOSE_CURSORS_AT_COMMIT
            :這個(gè)常量表示當(dāng)調(diào)用 Connection.commit 方法的時(shí)候 ResultSet 對(duì)象自動(dòng)關(guān)閉。  
               
              ●   HOLD_CURSORS_OVER_COMMIT
            :這個(gè)常量表示當(dāng)調(diào)用 Connetion.commit 方法的時(shí)候, ResultSet 對(duì)象不會(huì)被關(guān)閉。  
               
             
            這是 3.0   API 中提供的新特性,當(dāng)使用 HOLD_CURSORS_OVER_COMMIT 參數(shù)的時(shí)候,驅(qū)動(dòng)程序在修改結(jié)果被提交時(shí)可以不關(guān)閉 ResultSet 對(duì)象,這樣在提交之后還可以對(duì)結(jié)果集進(jìn)行一些需要的操作。  
               
             
            默認(rèn)情況下,創(chuàng)建 Statement 對(duì)象采用 CLOSE_CURSORS_AT_COMMIT ,這是為了保持和 JDBC   1.0 以及 2.0 兼容。但是對(duì)于可保持結(jié)果集的使用,需要驅(qū)動(dòng)程序的支持,所以在使用這個(gè)特性的時(shí)候,查閱相應(yīng)的文檔以確定是否被支持是很必要的。讀者可以從 http://industry.java.sun.com/products/jdbc/drivers   網(wǎng)站上訪問到當(dāng)前驅(qū)動(dòng)程序的列表。  
               
             
            此外在 JDBC   3.0 中提供了一種很重要的改進(jìn)結(jié)果集,那便是多重結(jié)果集。 JDBC   2.0 規(guī)范的一個(gè)局限是,在任意時(shí)刻,返回多重結(jié)果的語句只能打開一個(gè) ResultSet 。作為 JDBC   3.0 規(guī)范中改變的一個(gè)部分, Statement 接口支持多重打開的 ResultSets 將允許。然而,重要的是   execute()   方法仍然會(huì)關(guān)閉任何以前 execute()   調(diào)用中打開的 ResultSet 。所以,要支持多重打開的結(jié)果, Statement 接口就要加上一個(gè)重載的 getMoreResults() 方法。新的方法會(huì)做一個(gè)整數(shù)標(biāo)記,在 getResultSet() 方法被調(diào)用時(shí)指定前一次打開的   ResultSet 的行為。接口將按如下所示定義標(biāo)記:  
               
              ●   CLOSE_ALL_RESULTS
            :當(dāng)調(diào)用 getMoreResults() 時(shí),所有以前打開的 ResultSet 對(duì)象都將被關(guān)閉。  
               
              ●   CLOSE_CURRENT_RESULT
            :當(dāng)調(diào)用 getMoreResults() 時(shí),當(dāng)前的 ResultSet 對(duì)象將被關(guān)閉。  
               
              ●   KEEP_CURRENT_RESULT
            :當(dāng)調(diào)用 getMoreResults() 時(shí),當(dāng)前的 ResultSet 對(duì)象將不會(huì)被關(guān)閉。

            posted on 2009-08-03 18:30 肥仔 閱讀(614) 評(píng)論(0)  編輯 收藏 引用 所屬分類: Web-后臺(tái)

            国产成人精品久久亚洲高清不卡| 久久久久亚洲?V成人无码| 久久久婷婷五月亚洲97号色| 97久久超碰国产精品旧版| 久久91这里精品国产2020| 久久精品国产欧美日韩99热| 久久久久99精品成人片欧美| 久久精品成人免费国产片小草| 亚洲精品综合久久| 国产精品久久久久久久久鸭| 久久久久久青草大香综合精品| 亚洲中文字幕无码久久精品1| 大伊人青草狠狠久久| 免费久久人人爽人人爽av| 国产精品久久网| 综合人妻久久一区二区精品| 国内精品伊人久久久久网站| 久久99精品久久久久久久不卡| 久久er国产精品免费观看8| 69久久精品无码一区二区| 亚洲香蕉网久久综合影视| 久久青青草原亚洲av无码| 91精品婷婷国产综合久久| 久久久久久无码Av成人影院| 久久国产AVJUST麻豆| 国産精品久久久久久久| 久久香蕉一级毛片| 狠狠久久亚洲欧美专区 | 久久777国产线看观看精品| 久久精品国产久精国产一老狼| 久久天天躁狠狠躁夜夜2020| 免费精品99久久国产综合精品| 久久精品无码专区免费青青| 亚洲av日韩精品久久久久久a| 亚洲精品午夜国产va久久| 一本久久免费视频| 亚洲精品乱码久久久久久蜜桃 | 国产成人精品三上悠亚久久| 久久只有这里有精品4| 精品国产青草久久久久福利| 亚洲午夜精品久久久久久app|