• <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)

            理论片午午伦夜理片久久 | 日韩精品久久无码人妻中文字幕 | 国产精品成人久久久久三级午夜电影 | 93精91精品国产综合久久香蕉 | 亚洲美日韩Av中文字幕无码久久久妻妇 | 国产精品丝袜久久久久久不卡| 国产综合精品久久亚洲| 久久99精品久久久久子伦| 99久久国产综合精品五月天喷水| 欧美大战日韩91综合一区婷婷久久青草| 亚洲国产成人精品无码久久久久久综合 | 色婷婷噜噜久久国产精品12p| 亚洲乱码精品久久久久.. | 伊人久久大香线蕉av一区| 久久精品国产免费一区| 97久久国产综合精品女不卡| 久久最新精品国产| 国产成人精品久久综合| 日产精品久久久久久久| 久久午夜综合久久| 99久久精品免费看国产一区二区三区| 久久久久久久女国产乱让韩| 久久亚洲sm情趣捆绑调教| 婷婷国产天堂久久综合五月| 久久精品国产一区二区三区不卡| 狠狠色综合网站久久久久久久 | 久久久久亚洲精品日久生情| 久久久久亚洲精品无码网址 | aaa级精品久久久国产片| 色综合色天天久久婷婷基地| 日韩精品无码久久久久久| 精品久久久久久中文字幕大豆网| 久久伊人亚洲AV无码网站| 国産精品久久久久久久| 国产一区二区精品久久凹凸 | 97久久香蕉国产线看观看| 伊人久久久AV老熟妇色| 7777久久久国产精品消防器材| 无码任你躁久久久久久老妇App| 久久综合亚洲色一区二区三区| 无码任你躁久久久久久老妇App|