黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

10. RS的用法

系統(tǒng) 2509 0

讀取數(shù)據(jù)庫的數(shù)據(jù)必須掌握ResultSet對象的屬性和方法。

?

常用get方法對行中的數(shù)據(jù)進行訪問
int getInt(int columnIndex)
int getInt(String columnName)
Date getDate(int columnIndex)
Date getDate(String columnName)
Public String getString(int columnIndex)
Public String getString(String columnName)

?

數(shù)據(jù)庫基本訪問格式
Class.forName(“JDBC驅(qū)動程序");
Connection con= DriverManager.getConnection(url);
Statement stmt=conn.createStatement(結(jié)果集類型,結(jié)果集并發(fā)性);
ResultSet rs=stmt.executeQuery(DQL語句); 查詢
stmt.executeUpdate(DML語句);操作

?

結(jié)果集

Statement對象創(chuàng)建的常見用法
Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
結(jié)果集類型 決定這個Statement對象創(chuàng)建的Rs對象是否可以滾動,是否對數(shù)據(jù)庫中的修改敏感。
ResultSet.TYPE_FORWORD_ONLY(默認值)
ResultSet.TYPE_SCROLL_INSENSITIVE(可滾動,不敏感)
ResultSet.TYPE_SCROLL_SENSITIVE(可滾動,敏感)
結(jié)果集并發(fā)性 決定Rs是否可以修改數(shù)據(jù)庫中的行。
ResultSet.CONCUR_READ_ONLY(不可修改默認)
ResultSet.CONCUR_UPDATABLE(可以修改)

?

使用Rs更新,也可以實現(xiàn)添加、刪除和修改。

對敏感與否的解釋
rs對結(jié)果集的修改有兩種。
內(nèi)部修改:可更新結(jié)果集的修改,指rs的值變了。
外部修改:其它的程序修改了結(jié)果集原來讀取的行,指數(shù)據(jù)庫修改了。
由于修改導致結(jié)果集和原來的值不同。
修改對結(jié)果集的影響如下表:


但是我們可以使用ResultSet對象的refreshRow()方法刷新結(jié)果集的當前行,覆蓋默認的可見性。將所有的否都變?yōu)槭恰?
更新:
rs.absolute(3);//定位更新哪一行
rs.updateInt(“數(shù)學”,100);//更新記錄集
rs.updateRow();//將更新發(fā)送到數(shù)據(jù)庫
刪除:
rs.absolute(3);//定位要刪除的行
rs.deleteRow();//將刪除發(fā)送到數(shù)據(jù)庫
添加:
rs.moveToInsertRow();//首先調(diào)用moveToInsertRow()創(chuàng)建新行
rs.updateInt(“數(shù)學”,100);//利用update設置新行的值
rs.updateString(“姓名”,“張三”);
rs.insertRow();//將新行發(fā)送到數(shù)據(jù)庫

?

光標的維護方法

在JDBC1.0中,光標只能利用next方法向前移動一條記錄,在2.0中,增加了可滾動結(jié)果集,使其可以任意跳轉(zhuǎn)。
next()下一條,true/false
previous()前一條,true/false
first()第一條true/false
last()最后一條true/false
beforeFirst()第一條之前true/false
afterLast()最后一行后面true/false
absolute(int num)移動到指定行,若指定為負數(shù),則從最后一行向前移動。
Relative( int relativeRowNumber)移動到當前行的相對行,參數(shù)可以為負數(shù),指當前行之前的行。

?

在使用可滾動結(jié)果集方法移動時,如果不清楚當前位置,可以使用如下方法:
getRow()? 返回當前行,若無,則0
isfirst()?? true/false
isLast()??? true/false
isBeforeFirst() true/false
isAfterLast() true/false

例:使用javabean和resultSet讀取數(shù)據(jù)庫。

準備:

創(chuàng)建數(shù)據(jù)庫dataBase,用戶名sa,密碼sa
創(chuàng)建表userlist(id,username,addtime)
id:int 主鍵,標識,自動增加1
username:nvarchar
addtime:smalldatetime,默認值getdate()
隨意添加幾條數(shù)據(jù)用來測試
ceshi_sql.jsp用來測試sql是否聯(lián)結(jié)成功
index.jsp使用了javabean連接數(shù)據(jù)庫

?

10. RS的用法


更多文章、技術交流、商務合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論