js動態(tài)網(wǎng)站開發(fā)與實(shí)例之?dāng)?shù)據(jù)變動功能網(wǎng)_第1頁
js動態(tài)網(wǎng)站開發(fā)與實(shí)例之?dāng)?shù)據(jù)變動功能網(wǎng)_第2頁
js動態(tài)網(wǎng)站開發(fā)與實(shí)例之?dāng)?shù)據(jù)變動功能網(wǎng)_第3頁
js動態(tài)網(wǎng)站開發(fā)與實(shí)例之?dāng)?shù)據(jù)變動功能網(wǎng)_第4頁
js動態(tài)網(wǎng)站開發(fā)與實(shí)例之?dāng)?shù)據(jù)變動功能網(wǎng)_第5頁
已閱讀5頁,還剩31頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

Statement&ResultSet

Statement定義運(yùn)行SQL指令所需的方法成員,如果運(yùn)行的SQL是一種SELECT類型的指令。ResultSet則封裝Statement運(yùn)行SQL指令之后所返回的數(shù)據(jù)內(nèi)容,用戶通過ResultSet取得SQL語句返回的數(shù)據(jù)內(nèi)容。1Statement&ResultSet2Statement成員方法說明close()結(jié)束對象,釋放占用資源addBatch(Stringsql)將要運(yùn)行的SQL指令加到批次指令中clearBatch()清除所有的SQL批次運(yùn)行指令executeBatch()運(yùn)行SQL批次指令execute(Stringsql)運(yùn)行SQL一般指令executeQuery(Stringsql)運(yùn)行SQL查詢指令,如select指令executeUpdate(Stringsql)運(yùn)行SQL更改指令,如insert、delete、updategetConnection()返回產(chǎn)生這個Statement對象的Connection對象setMaxRows(intmax)設(shè)定ResultSet對象中可包含的最多數(shù)據(jù)數(shù)目為maxgetMaxRows()返回ResultSet對象中可包含的最多數(shù)據(jù)數(shù)目3ResultSet成員方法說明absolute(intindex)移動指針到第index筆數(shù)據(jù)first()移動指針到第一筆數(shù)據(jù)last() 移動指針到最后一筆數(shù)據(jù)afterLast()移動指針到最后一筆數(shù)據(jù)之后beforeFirst()移動指針到第一筆數(shù)據(jù)之前next()移動指針到下一筆數(shù)據(jù)previous()移動指針到上一筆數(shù)據(jù)relative(introws)將指針往上或往下移動rows個位置,往上移則rows為負(fù)數(shù),往下移則rows為正數(shù)4ResultSet成員方法說明isAfterLast()返回布爾值表示指針是否位于最后一筆數(shù)據(jù)之后isBeforeFirst()返回布爾值表示指針是否位于第一筆數(shù)據(jù)之前isFirst()返回布爾值表示指針是否位于第一筆數(shù)據(jù)的位置isLast()返回布爾值表示指針是否位于第一筆數(shù)據(jù)的位置getRow()返回目前指針?biāo)笖?shù)據(jù)的位置5ResultSet成員方法說明getString(intindex)返回目前指針?biāo)傅臄?shù)據(jù),第index字段中的字符串getString(Stringname)返回目前指針?biāo)傅臄?shù)據(jù),字段名稱為name中的字符串getInt(intindex)返回目前指針?biāo)傅臄?shù)據(jù),第index字段中的數(shù)值getInt(intindex) 返回目前指針?biāo)傅臄?shù)據(jù),第index字段中的數(shù)值getInt(Stringname)返回目前指針?biāo)傅臄?shù)據(jù),第index字段中的數(shù)值deleteRow()刪除指針?biāo)诘脑摴P數(shù)據(jù)refreshRow()重設(shè)數(shù)據(jù)中的值為上一次更新前的值getFetchSize()返回ResultSet對象中可包含最多的數(shù)據(jù)筆數(shù)close()結(jié)束對象,釋放占用資源6運(yùn)行SQL一般指令

Connectioncon=DriverManager.getConnection("jdbc:odbc:webData");Statementsmt=con.createStatement();Stringsql="createtablepeople";smt.execute(sql);Statement對象smt是由Connection類型的對象con調(diào)用createStatement()所產(chǎn)生的,而在定義了一個建立數(shù)據(jù)表的SQL指令字符串sql后,運(yùn)行smt.execute(sql)來運(yùn)行SQL指令。7變動數(shù)據(jù)表變動數(shù)據(jù)表結(jié)構(gòu)的方式,只需將相關(guān)的SQL指令傳入execute(sql)方法即可。SQL變動指令是指對數(shù)據(jù)庫進(jìn)行新增(insert)、刪除(delete)或更新(update)等操作。8運(yùn)行SQL查詢指令

executeQuery()方法方法在運(yùn)行完成之后,會返回一個ResultSet類型的對象,其中封裝了代表查詢結(jié)果的數(shù)據(jù)內(nèi)容:Connectioncon=DriverManager.getConnection("jdbc:odbc:webData");Statementsmt=con.createStatement();Stringsql="SELECT*FROMAuthor";ResultSetrs=smt.executeQuery(sql);9ResultSet對象

ResultSet對象是運(yùn)行SQL查詢后,所產(chǎn)生的數(shù)據(jù)集合對象,代表一種表格狀的數(shù)據(jù)集合對象,包含SQL語句所產(chǎn)生的數(shù)據(jù)內(nèi)容。10指針位置ResultSet對象返回的的時候,指指針在第一一條數(shù)據(jù)之之前的開頭頭位置。利用方法next()將指針往下下移動。11獲取字段內(nèi)內(nèi)容getString()方法取得其其中的字段段值。strID=rs.GetString(0);strName=rs.GetString(1);根據(jù)字段的的索引順序序,將索引引值當(dāng)作參參數(shù)傳入getString()方法,便可可以取得字字段的內(nèi)容容。12SQL批處理指令SQL批處理指令可一次次運(yùn)行多段SQL指令。用戶可以設(shè)設(shè)定多個要要運(yùn)行的SQL指令,將這這些SQL指令以addBatch()方法加到批批處理文件件中,而后后引用executeBacth()方法運(yùn)行。13交易交易是以一個批批次為單位位運(yùn)行數(shù)個個獨(dú)立的SQL指令。交易將操作作數(shù)據(jù)庫的的操作視為為不可分割割的過程。一旦過程中中某段SQL運(yùn)行發(fā)生錯錯誤,則先先前所有運(yùn)運(yùn)行完畢的的步驟都將將失效,只只有整個交交易過程成成功運(yùn)行完完成之后,,所有SQL指令的變動動內(nèi)容才會會整個生效效。14交易方法交易的狀態(tài)態(tài)必須由Connection作設(shè)定。setAutoCommit()用來來設(shè)設(shè)定定是是否否目目前前的的聯(lián)聯(lián)機(jī)機(jī)處處于于交交易易狀狀態(tài)態(tài)。rollback()為取取消消交交易易的的任任何何操操作作,,將將所所有有狀狀態(tài)態(tài)回回復(fù)復(fù)到到未未運(yùn)運(yùn)行行任任何何操操作作的的初初始始狀狀態(tài)態(tài)。。commit()則是是確確認(rèn)認(rèn)所所有有交交易易的的操操作作。。15交易易過程程16設(shè)定定交交易易Connection默認(rèn)認(rèn)會會自自動動確確認(rèn)認(rèn)每每一一次次數(shù)數(shù)據(jù)據(jù)庫庫的的操操作作行行為為,,要要改改變變這這種行行為為,,只只需需取取消消自自動動確確認(rèn)認(rèn)的的行行為為即即可可。。conn.setAutoCommit(false);setAutoCommit()接受受一一個個boolean參數(shù)數(shù),,當(dāng)當(dāng)這這個個值值為為false的時時候候,,聯(lián)聯(lián)機(jī)機(jī)的的自自動動確確認(rèn)認(rèn)的的預(yù)預(yù)設(shè)設(shè)行行為為會會被被取取消消。17取消消與確確認(rèn)認(rèn)一旦旦這這一一段段程程序序代代碼碼被被運(yùn)運(yùn)行行,,所所有有交交易易開開始始運(yùn)運(yùn)行行的的操操作作都都將將失失效效::conn.rollback();當(dāng)所所有有的的操操作作都都已已經(jīng)經(jīng)正正確確無無誤誤的的被被完完成成之之后后,,呼呼叫叫commit()可以以確確認(rèn)認(rèn)整整個個交交易易被被完完成成。mit();18控制制指指針針默認(rèn)認(rèn)情情況況下下,,ResultSet對象象只只能能引引用用next()方法法控控制制指指針針一一次次往往前前移移動動一一格格。Statementsmt=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);這行行程程序序代代碼碼所所生生成成的的Statement對象象smt來運(yùn)運(yùn)行行數(shù)數(shù)據(jù)據(jù)查查詢詢的的SQL指令令,,產(chǎn)產(chǎn)生生的的ResultSet對象象其其指指針針就就不不會會被被限限定定只只能能往往下下依依序序逐逐行行移移動動了了。19JSTLSQL標(biāo)簽簽分類標(biāo)簽說明聯(lián)機(jī)setDataSource設(shè)定數(shù)據(jù)來源SQL操作指令query設(shè)定SQL查詢param設(shè)定SQL參數(shù)update設(shè)定SQL變動dateParam日期參數(shù)解析transaction批量交易20<sql:setDataSource>語法法<sql:setDataSource{dataSource="dataSource"|url="jdbcUrl"[driver="driverClassName"][user="userName"][password="password"]}[var="varName"][scope=””{page|request|session|application}””]/>21<sql:setDataSource>-屬性性屬性動態(tài)類型說明dataSource是Stringor

javax.sql.DataSource數(shù)據(jù)源名稱字符串,可指定為JNDI來源或是JDBC聯(lián)機(jī)字符串driver是StringJDBC參數(shù)字符串,驅(qū)動程序類名稱url是StringJDBC參數(shù)字符串,數(shù)據(jù)來源名稱user是String數(shù)據(jù)庫用戶賬號password是String數(shù)據(jù)庫用戶密碼var否String儲存聯(lián)機(jī)設(shè)定的變量名稱scope否String變量范圍22dataSourcedataSource代表表一一個個聯(lián)聯(lián)機(jī)機(jī)字字符符串串,,所所有有的的聯(lián)聯(lián)機(jī)機(jī)信信息息可可以以被被直直接接設(shè)設(shè)定在在這這個個屬屬性性當(dāng)當(dāng)中中。url[,[driver][,[user][,password]]]url為聯(lián)聯(lián)機(jī)機(jī)數(shù)數(shù)據(jù)據(jù)庫庫的的來來源源位位置置,即ODBC數(shù)據(jù)據(jù)源源。driver為所所需需的的驅(qū)驅(qū)動動程程序序類類名名稱稱。user與password則分分別別是是數(shù)數(shù)據(jù)據(jù)庫庫的的聯(lián)聯(lián)機(jī)機(jī)賬賬號號與與密密碼碼,,如如果果數(shù)數(shù)據(jù)據(jù)庫庫沒沒有有設(shè)設(shè)定定,,則則這這兩兩個個值值可可以以被被省省略略。23屬性性設(shè)設(shè)定定屬性屬性值urljdbc:odbc:webDatadriversun.jdbc.odbc.JdbcOdbcDriver24<sql:setDataSource>標(biāo)簽簽設(shè)設(shè)定定數(shù)數(shù)據(jù)據(jù)源源通過過<sql:setDataSource>標(biāo)簽簽設(shè)設(shè)定定數(shù)數(shù)據(jù)據(jù)來來源源:<sql:setDataSourcedataSource="jdbc:odbc:WData,sun.jdbc.odbc.JdbcOdbcDriver"/>不使使用用數(shù)數(shù)據(jù)據(jù)源源的的設(shè)設(shè)定定方方式式如如下下:<sql:setDataSourcedriver="sun.jdbc.odbc.JdbcOdbcDriver"url="jdbc:odbc:WData"/>25<sql:query>語法法1::無本本體體內(nèi)內(nèi)容容<sql:querysql="sqlQuery"var="varName"[scope="{page|request|session|application}"][dataSource="dataSource"][maxRows="maxRows"][startRow="startRow"]/>26<sql:query>語法法2::包含含指指定定搜搜尋尋參參數(shù)數(shù)的的本本體體內(nèi)內(nèi)容容<sql:querysql="sqlQuery"var="varName"[scope="{page|request|session|application}"][dataSource="dataSource"][maxRows="maxRows"][startRow="startRow"]><sql:param>actions</sql:query>27<sql:query>語法法3::包含含指指定定搜搜尋尋參參數(shù)數(shù)與與選選擇擇性性參參數(shù)數(shù)的的本本體體內(nèi)內(nèi)容容<sql:queryvar="varName"[scope=””{page|request|session|application}””][dataSource=””dataSource””][maxRows="maxRows"][startRow="startRow"]>queryoptional<sql:param>actions28<sql:query>-屬性性屬性動態(tài)類型說明sql是包含SELECT之SQL字符串SQL指令dataSource是Stringorjavax.sql.DataSource數(shù)據(jù)源名稱字符串,可指定為JNDI數(shù)據(jù)源或是JDBC聯(lián)機(jī)字符串maxRows是StringSQL指令返回結(jié)果當(dāng)中所包含的最大數(shù)據(jù)筆數(shù),設(shè)定值省略或是等于-1時,返回結(jié)果將沒有限制startRow是StringSQL指令開始返回的數(shù)據(jù)內(nèi)容索引var否String儲存輸出結(jié)果scope否String變量范圍29<sql:param>語法法1:將參數(shù)數(shù)值指指定給給屬性性value<sql:paramvalue="value"/>語法2:將參數(shù)數(shù)值指指定給給本體體內(nèi)容容<sql:param>parametervalue</sql:param>30<sql:update>語法1:無本體體內(nèi)容容<sql:updatesql="sqlUpdate"[dataSource=””dataSource”][var="varName"][scope=”{page|request|session|application}””]/>31<sql:update>語法2:包含指指定搜搜尋參參數(shù)的的本體體內(nèi)容容<sql:updatesql="sqlUpda

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論