![Web技術(shù)應(yīng)用基礎(chǔ)-d09_第1頁(yè)](http://file4.renrendoc.com/view3/M01/2D/1C/wKhkFmYDVMWAbtJMAAGOx6KapC0097.jpg)
![Web技術(shù)應(yīng)用基礎(chǔ)-d09_第2頁(yè)](http://file4.renrendoc.com/view3/M01/2D/1C/wKhkFmYDVMWAbtJMAAGOx6KapC00972.jpg)
![Web技術(shù)應(yīng)用基礎(chǔ)-d09_第3頁(yè)](http://file4.renrendoc.com/view3/M01/2D/1C/wKhkFmYDVMWAbtJMAAGOx6KapC00973.jpg)
![Web技術(shù)應(yīng)用基礎(chǔ)-d09_第4頁(yè)](http://file4.renrendoc.com/view3/M01/2D/1C/wKhkFmYDVMWAbtJMAAGOx6KapC00974.jpg)
![Web技術(shù)應(yīng)用基礎(chǔ)-d09_第5頁(yè)](http://file4.renrendoc.com/view3/M01/2D/1C/wKhkFmYDVMWAbtJMAAGOx6KapC00975.jpg)
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第9章基于JSP的Web數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)第3篇JSPWeb數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)1JSP9.1Web數(shù)據(jù)庫(kù)應(yīng)用根底9.1.1數(shù)據(jù)庫(kù)根本概念1.根本術(shù)語(yǔ)(1)數(shù)據(jù)庫(kù)系統(tǒng)數(shù)據(jù)庫(kù)系統(tǒng)是一個(gè)存儲(chǔ)數(shù)據(jù)的計(jì)算機(jī)系統(tǒng).數(shù)據(jù)庫(kù)是一個(gè)按數(shù)據(jù)結(jié)構(gòu)來(lái)存儲(chǔ)和管理數(shù)據(jù)的計(jì)算機(jī)軟件系統(tǒng)。數(shù)據(jù)庫(kù)概念包含兩層意思:?數(shù)據(jù)庫(kù)保管數(shù)據(jù)的“倉(cāng)庫(kù)”,“數(shù)據(jù)”和“庫(kù)”結(jié)合成為“數(shù)據(jù)庫(kù)”?數(shù)據(jù)庫(kù)是數(shù)據(jù)管理的方法和技術(shù),它能夠合理地組織數(shù)據(jù)、方便地維護(hù)數(shù)據(jù)、嚴(yán)密地控制數(shù)據(jù)和有效地利用數(shù)據(jù)數(shù)據(jù)庫(kù)是一個(gè)合理組織了的數(shù)據(jù)倉(cāng)庫(kù)。2JSP數(shù)據(jù)庫(kù)管理系統(tǒng)〔DBMS〕數(shù)據(jù)庫(kù)管理系統(tǒng)是管理數(shù)據(jù)庫(kù)的軟件系統(tǒng)。目前市場(chǎng)上比較著名的數(shù)據(jù)庫(kù)管理系統(tǒng)有Oracle、Sybase、Informix、SQLServer等。3JSP2.數(shù)據(jù)庫(kù)設(shè)計(jì)與管理信息系統(tǒng)管理信息系統(tǒng)簡(jiǎn)稱(chēng)為MIS(ManagementInformationSystem,管理信息系統(tǒng)幫助人們完成需要手工處理的信息處理工作。管理信息系統(tǒng)的數(shù)據(jù)存放在數(shù)據(jù)庫(kù)中。4數(shù)據(jù)庫(kù)用戶(hù)息信管理系統(tǒng)功能模塊數(shù)據(jù)庫(kù)管理系統(tǒng)用戶(hù)用戶(hù)管理信息系統(tǒng)、數(shù)據(jù)庫(kù)管理系統(tǒng)和數(shù)據(jù)庫(kù)的關(guān)系5JSP3.數(shù)據(jù)庫(kù)、表、記錄和字段數(shù)據(jù)庫(kù):數(shù)據(jù)庫(kù)中的數(shù)據(jù)表示為多個(gè)表的集合,通過(guò)建立表與表之間的關(guān)系來(lái)定義數(shù)據(jù)庫(kù)的結(jié)構(gòu)。表:按某一公共結(jié)構(gòu)存儲(chǔ)的一組相似數(shù)據(jù),它是數(shù)據(jù)庫(kù)的根底構(gòu)件。記錄:表中數(shù)據(jù)以行、列方式將相關(guān)信息排列成邏輯組,表中每一行稱(chēng)為一個(gè)記錄字段:表中每一列稱(chēng)為字段6JSP7JSP創(chuàng)立數(shù)據(jù)庫(kù)和表1.創(chuàng)立數(shù)據(jù)庫(kù)(1)啟動(dòng)SQLServer效勞管理器選擇“開(kāi)始→所有程序→MicrosoftSQLServer→效勞管理器”。如果管理器沒(méi)有啟動(dòng),點(diǎn)擊“開(kāi)始”按鈕啟動(dòng)效勞管理器。(2)創(chuàng)立數(shù)據(jù)庫(kù)選擇“開(kāi)始→所有程序→MicrosoftSQLServer→企業(yè)管理器”,翻開(kāi)“SQLServerEnterpriseManager”界面。在控制臺(tái)樹(shù)中右擊“數(shù)據(jù)庫(kù)”節(jié)點(diǎn),選擇“新建數(shù)據(jù)庫(kù).出現(xiàn)“數(shù)據(jù)庫(kù)屬性”對(duì)話(huà)框,輸入數(shù)據(jù)庫(kù)的名稱(chēng),例如“bookshop”。單擊“確定”按鈕,bookshop數(shù)據(jù)庫(kù)創(chuàng)立完成,在控制臺(tái)樹(shù)中見(jiàn)到該數(shù)據(jù)庫(kù)。8JSP2.創(chuàng)立新表創(chuàng)立booktable表。(1)選擇“開(kāi)始→程序→MicrosoftSQLServer→企業(yè)管理器→數(shù)據(jù)庫(kù)→bookshop”;(2)右擊“表”節(jié)點(diǎn),然后選擇快捷菜單中的“新建表”命令;(3)在表設(shè)計(jì)器窗口設(shè)計(jì)bootable表的結(jié)構(gòu),輸入相應(yīng)的字段名、類(lèi)型、長(zhǎng)度、是否為空和默認(rèn)值等。選擇bookid字段,單擊工具欄“設(shè)置主鍵”圖標(biāo),將bookid字段設(shè)為主關(guān)鍵字。當(dāng)字段為主關(guān)鍵字時(shí),該字段不允許出現(xiàn)空值。(4)設(shè)計(jì)完成后單擊工具欄“保存”圖標(biāo),出現(xiàn)“選擇名稱(chēng)”對(duì)話(huà)框,在對(duì)話(huà)框中輸入表名booktable,單擊“確定”按鈕。(5)單擊標(biāo)題欄“關(guān)閉”按鈕。9JSP10JSP9.1.3SQL語(yǔ)句1.選擇語(yǔ)句〔SelectStatement〕
SELECT字段1[,字段2,…]FROM表名[WHERE條件表達(dá)式](1)在booktable表中檢索所有書(shū)名SELECTbooknameFROMbooktable功能:從booktable表的bookname字段檢索數(shù)據(jù)。SELECT:關(guān)鍵字,說(shuō)明要做查詢(xún)操作;bookname:字段名,數(shù)據(jù)從該字段中檢索;FROM:關(guān)鍵字,指明信息來(lái)源,后面列出表的名稱(chēng)。booktable:表的名稱(chēng),數(shù)據(jù)從該表中檢索。結(jié)果集是booktable表中的全部書(shū)名11JSP(2)在booktable表中查詢(xún)書(shū)號(hào)等于ISBN7-302-08599-4的書(shū)名,SELECTbooknameFROMbooktableWHEREISBN7-302-08599-4(3)范圍查詢(xún),在booktable表中查詢(xún)2008年上半年出版的書(shū)名,SELECTbooknameFROMbooktableWHEREpubdateBetween‘2008-1-1’and‘2008-6-30’(4)ORDERBY子句,使結(jié)果集按序排列。圖書(shū)按出版日期排序:SELECT*FROMbooktableORDERBYbookid缺省值是升序,按降序排列,加關(guān)鍵字DESC(5)模糊查詢(xún),在WHERE子句中應(yīng)用LIKE運(yùn)算符,可以只選擇與用戶(hù)規(guī)定格式相同的記錄。用通配符“%”可以代替任何字符串。例如,在userinfo表中查詢(xún)所有姓王的讀者,可用以下語(yǔ)句:SELECT*FROMuserinfoWHEREusernameLIKE‘王%’12JSP2.插入語(yǔ)句〔InsertStatement〕一個(gè)或多個(gè)記錄添加到指定表中。INSERTINTO表名(字段1[,字段2,…n])VALUES(值1[,值2,…n])例如,在booktable表中插入新書(shū)記錄(書(shū)號(hào):ISBN7-04-012301-0,書(shū)名:C++程序設(shè)計(jì),吳乃陵,出版社編號(hào):3,出版日期:2003-8-1,定價(jià):29.5):INSERTINTObooktable(bookid,bookname,author,publisher,pubdate,price,type,quantity)VALUES(‘ISBN7-04-012301-0’,’C++程序設(shè)計(jì)’,’吳乃陵’,’高等教育出版社‘,’2003-8-1’,29.5,’計(jì)算機(jī)‘,100)13JSP3.更新語(yǔ)句〔UpdateStatements〕更新表中的字段。UPDATE表名SET列名=表達(dá)式[,列名=表達(dá)式,…][WHERE條件表達(dá)式]例如,在booktable表中把所有圖書(shū)的在庫(kù)冊(cè)數(shù)減2,語(yǔ)句如下:UPDATEbooktableSETquantity=quantity-214JSP4.刪除語(yǔ)句(DeleteStatement)刪除由FROM子句列出的、滿(mǎn)足WHERE子句條件的一個(gè)或多個(gè)表中的記錄。DELETEFROM表名[WHERE條件表達(dá)式]例如,在booktable表中刪除剛剛插入的書(shū)號(hào)為ISBN7-04-012301-0的記錄,語(yǔ)句如下:DELETEFROMbooktableWHEREbookid=ISBN7-04-012301-0又如:下條SQL語(yǔ)句的功能將刪除表中所有的記錄,使用時(shí)要特別留神:DELETEFROMbooktable15JSP9.2JDBC接口技術(shù)9.2.1JDBC概述1.什么是JDBCJDBC(JavaDatabaseConnectivity)接口技術(shù)實(shí)際上是一種通過(guò)Java語(yǔ)言訪(fǎng)問(wèn)任何結(jié)構(gòu)化數(shù)據(jù)庫(kù)的應(yīng)用程序接口(API)。16JSP2.JDBC的功能
(1)與一個(gè)數(shù)據(jù)庫(kù)建立連接(connection);(2)向數(shù)據(jù)庫(kù)發(fā)送SQL語(yǔ)句(statement);(3)處理數(shù)據(jù)庫(kù)返回的結(jié)果(resultset)。17JSP3.JDBC訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)的四種方式(1)JDBC-ODBCBridge驅(qū)動(dòng)程序
(2)本地API驅(qū)動(dòng)
(3)網(wǎng)絡(luò)協(xié)議驅(qū)動(dòng)
(4)本地協(xié)議驅(qū)動(dòng)
18JSP9.2.2JDBC-ODBC橋以網(wǎng)上書(shū)店的bookshop數(shù)據(jù)庫(kù)為例。建立數(shù)據(jù)源(DSN:DataSourceName)
19JSP9.2.2JDBC建立數(shù)據(jù)庫(kù)連接例如
用JDBC-ODBCBridge驅(qū)動(dòng)程序建立與數(shù)據(jù)庫(kù)的連接。例9.1:使用JSP技術(shù)查詢(xún)booktable表中書(shū)號(hào)是ISBN7-04-012301-0的圖書(shū)。JDBC-ODBCBridge20JSP<%@pagecontentType="text/html;charset=GB2312"%><%@pageimport="java.sql.*"%><html><head><title>JDBC建立數(shù)據(jù)庫(kù)連接</title></head><body><center><fontsize=5color=blue>數(shù)據(jù)查詢(xún)</font><hr><%//加載驅(qū)動(dòng)程序");//建立連接Connectionconn=DriverManager.getConnection("jdbc:odbc:bookshoplk","sa","");//發(fā)送SQL語(yǔ)句Statementstmt=conn.createStatement();try{//建立ResultSet(結(jié)果集)對(duì)象ResultSetrs;//執(zhí)行SQL語(yǔ)句rs=stmt.executeQuery("SELECT*FROMbooktablewherebookid='ISBN7-04-012301-0'");%>21JSP<tableborder=3><trbgcolor=silver><td>bookid</td><td>bookname</td><td>author</td><td>publisher</td><td>pubdate</td><td>price</td><td>type</td><td>quantity</td></tr> <%//利用while循環(huán)將數(shù)據(jù)表中的記錄列出while(rs.next()){%><tr><td><%=rs.getString("bookid")%></td><td><%=rs.getString("bookname")%></td><td><%=rs.getString("author")%></td> <td><%=rs.getString("publisher")%></td><td><%=rs.getString("pubdate")%></td><td><%=rs.getString("price")%></td><td><%=rs.getString("type")%></td><td><%=rs.getString("quantity")%></td></tr>22JSP<%}rs.close();//關(guān)閉ResultSet對(duì)象}catch(Exceptione){out.println(e.getMessage());}stmt.close();//關(guān)閉Statement對(duì)象conn.close();//關(guān)閉Connection對(duì)象 %> </table></center></body></html>23JSP9.2.3JDBC建立數(shù)據(jù)庫(kù)連接方法詳解JDBC建立數(shù)據(jù)庫(kù)連接步驟(1)參加命令行:<%@pageimport="java.sql.*"%>(2)加載驅(qū)動(dòng)程序:");(3)建立連接:Connectionconn=DriverManager.getConnection("jdbc:odbc:bookshoplk","sa","");(4)發(fā)送SQL語(yǔ)句:Statementstmt=conn.createStatement();(5)建立ResultSet(結(jié)果集)對(duì)象:ResultSetrs;(6)執(zhí)行SQL語(yǔ)句:rs=stmt.executeQuery("SELECT*FROMbooktablewherebookid='ISBN7-04-012301-0'");(7)關(guān)閉對(duì)象:rs.close();//關(guān)閉ResultSet對(duì)象stmt.close();//關(guān)閉Statement對(duì)象conn.close();//關(guān)閉Connection對(duì)象 24JSP例9.2:輸出booktable表中各列的名稱(chēng)。代碼創(chuàng)立了ResultSetMetaData對(duì)象rsmd,并使用getColumnCount()和getColumnName()方法取得booktable表中的列數(shù)和列名。輸出booktable表列名25JSP<%@pagecontentType="text/html;charset=GB2312"%><%@pageimport="java.sql.*"%><html><head><title>輸出booktable表各列的名稱(chēng)</title></head><body><center><fontsize=4color=blue>輸出booktable表各列的名稱(chēng)</font><hr><br><%");//建立連接Connectionconn=DriverManager.getConnection("jdbc:odbc:bookshoplk","sa","");//發(fā)送SQL語(yǔ)句Statementstmt=conn.createStatement();ResultSetrs=stmt.executeQuery("SELECT*FROMbooktable");ResultSetMetaDatarsmd=rs.getMetaData();//創(chuàng)立ResultSetMetaData對(duì)象%><p>26JSP記錄集中共有<fontsize=4color=red><%=rsmd.getColumnCount()%></font>列,各列的名稱(chēng)是:<br><fontsize=4color=red><%for(inti=1;i<=rsmd.getColumnCount();i++){if(i==1)out.print(rsmd.getColumnName(i));elseout.print(","+rsmd.getColumnName(i));}rs.close();//關(guān)閉ResultSet對(duì)象stmt.close();//關(guān)閉Statement對(duì)象conn.close();//關(guān)閉數(shù)據(jù)庫(kù)連接對(duì)象%></font></body></html>27JSP(6)執(zhí)行SQL語(yǔ)句
rs=stmt.executeQuery("SELECT*FROMbooktable");28JSP9.3查詢(xún)記錄順序查詢(xún)
例9.3:順序輸出數(shù)據(jù)表“booktable”中的所有記錄和所有字段。使用代碼:"Select*Frombooktable"從booktable數(shù)據(jù)表選擇所有的記錄。順序查詢(xún)29JSP<%@pagecontentType="text/html;charset=GB2312"%><%@pageimport="java.sql.*"%><html><head><title>順序查詢(xún)</title></head><body><center><fontsize=4color=blue>順序輸出數(shù)據(jù)表“booktable”中包含所有字段的所有記錄</font><hr><%");Connectionconn=DriverManager.getConnection("jdbc:odbc:bookshoplk","sa","");Statementstmt=conn.createStatement();try{ResultSetrs;//建立ResultSet(結(jié)果集)對(duì)象rs=stmt.executeQuery("SELECT*FROMbooktable");//執(zhí)行SQL語(yǔ)句%><tableborder=3><trbgcolor=silver><b>
<td>bookid</td><td>bookname</td><td>author</td><td>publisher</td><td>pubdate</td><td>price</td><td>type</td><td>quantity</td></tr> 30JSP<%//利用while循環(huán)將數(shù)據(jù)表中的記錄列出while(rs.next()){%><tr><td><%=rs.getString("bookid")%></td><td><%=rs.getString("bookname")%></td><td><%=rs.getString("author")%></td> <td><%=rs.getString("publisher")%></td><td><%=rs.getString("pubdate")%></td><td><%=rs.getString("price")%></td><td><%=rs.getString("type")%></td><td><%=rs.getString("quantity")%></td></tr><%}
31JSPrs.close();//關(guān)閉ResultSet對(duì)象}catch(Exceptione){out.println(e.getMessage());}stmt.close();//關(guān)閉Statement對(duì)象conn.close();//關(guān)閉Connection對(duì)象 %> </table></center></body></html>32JSP9.3.2參數(shù)查詢(xún)
例9.4:用戶(hù)在界面輸入查詢(xún)條件,如出版社的名稱(chēng),輸入的名稱(chēng)提交給ex9-04.jsp處理,輸出數(shù)據(jù)表“booktable”中需要查詢(xún)的出版社出版的圖書(shū)。其關(guān)鍵查詢(xún)語(yǔ)句為:"Select*Frombooktablewherepublisher='"+publishername+"'"參數(shù)查詢(xún)33JSPex9-04.html:<html><head><title>參數(shù)查詢(xún)應(yīng)用案例</title></head><body><center><fontsize=4color=blue>圖書(shū)查詢(xún)</font></center><hr><formmethod="post"action="ex9-04.jsp"><fontcolor=green>請(qǐng)輸入出版社名稱(chēng):<inputtype=textname="pubname"size=20maxlength=20><p><inputtype=submitvalue="提交"><inputtype=resetvalue="清除"></form></font></body></html>34JSPex9-04.jsp:<%@pagecontentType="text/html;charset=GB2312"%><%@pageimport="java.sql.*"%><html><head><title>選擇查詢(xún)</title></head><body><center><%request.setCharacterEncoding("GB2312");Stringpublishername=request.getParameter("pubname");if(publishername==null){publishername="";}%><fontsize=4color=blue>輸出數(shù)據(jù)表booktable<%=publishername%>的記錄</font><hr>35JSP<%");Connectionconn=DriverManager.getConnection("jdbc:odbc:bookshoplk","sa","");Statementstmt=conn.createStatement();try{ResultSetrs;//建立ResultSet(結(jié)果集)對(duì)象rs=stmt.executeQuery("Select*Frombooktablewherepublisher='"+publishername+"'");//執(zhí)行SQL語(yǔ)句%>36JSP9.3.3模糊查詢(xún)
例9.5:用戶(hù)在界面(ex9-05.html)中輸入書(shū)名中的局部詞匯,輸入的局部詞匯提交給ex9-05.jsp處理,輸出數(shù)據(jù)表“booktable”中所有包含該詞匯圖書(shū)的書(shū)名。其關(guān)鍵查詢(xún)語(yǔ)句為:"Select*Frombooktablewherebooknamelike'%"+b_name+"%'"模糊查詢(xún)37JSPex9-05.html:<html><head><title>模糊查詢(xún)應(yīng)用案例</title></head><body><center><fontsize=4color=blue>模糊查詢(xún)</font></center><hr><formmethod="post"action="ex9-05.jsp"><fontcolor=green>書(shū)名:<inputtype=textname="bookname"size=20maxlength=20><br>注:可以輸入局部詞匯<br><inputtype=submitvalue="提交"><inputtype=resetvalue="清除"></form></font></body></html>38JSPex9-05.jsp:<%@pagecontentType="text/html;charset=GB2312"%><%@pageimport="java.sql.*"%><html><head><title>模糊查詢(xún)</title></head><body><center><%request.setCharacterEncoding("GB2312");Stringb_name=request.getParameter("bookname");if(b_name==null){b_name="";}%><fontsize=4color=blue>輸出與<%=b_name%>有關(guān)的圖書(shū)</font><hr>39JSP<%");Connectionconn=DriverManager.getConnection("jdbc:odbc:bookshoplk","sa","");Statementstmt=conn.createStatement();try{ResultSetrs;//建立ResultSet(結(jié)果集)對(duì)象rs=stmt.executeQuery("Select*Frombooktablewherebooknamelike'%"+b_name+"%'");%>40JSP范圍查詢(xún)例9.6:輸出數(shù)據(jù)表booktable中某段時(shí)間內(nèi)出版的圖書(shū)。用戶(hù)在界面(ex9-06.html)中輸入查詢(xún)的開(kāi)始日期和截至日期,提交給ex9-06.jsp處理,輸出數(shù)據(jù)表booktable中該時(shí)間段出版的圖書(shū)。其關(guān)鍵查詢(xún)語(yǔ)句為:"Select*Frombooktablewherepubdatebetween'"+s_pubdate+"'and'"+e_pubdate+"'"范圍查詢(xún)41JSPex9-06.html:<html><head><title>范圍查詢(xún)應(yīng)用案例</title></head><body><center><fontsize=4color=blue>根據(jù)出版日期查詢(xún)圖書(shū)</font></center><hr><formmethod="post"action="ex9-06.jsp"><fontcolor=green>查詢(xún)?cè)?lt;inputtype=textname="starpubdate"size=10maxlength=10>和<inputtype=textname="endpubdate"size=10maxlength=10>之間出版的圖書(shū)<inputtype=submitvalue="提交"><inputtype=resetvalue="清除"></form></font></body></html>42JSPex9-06.jsp:<%@pagecontentType="text/html;charset=GB2312"%><%@pageimport="java.sql.*"%><html><head><title>范圍查詢(xún)</title></head><body><center><%request.setCharacterEncoding("GB2312");Strings_pubdate=request.getParameter("starpubdate");if(s_pubdate==null){s_pubdate="";}Stringe_pubdate=request.getParameter("endpubdate");if(e_pubdate==null){e_pubdate="";}%>43JSP<fontsize=4color=blue>在<%=s_pubdate%>和<%=e_pubdate%>之間出版的圖書(shū)</font><hr><%");Connectionconn=DriverManager.getConnection("jdbc:odbc:bookshoplk","sa","");Statementstmt=conn.createStatement();try{ResultSetrs;//建立ResultSet(結(jié)果集)對(duì)象rs=stmt.executeQuery("Select*Frombooktablewherepubdatebetween'"+s_pubdate+"'and'"+e_pubdate+"'");%>44JSP9.3.5復(fù)合條件查詢(xún)
例9.7:輸出數(shù)據(jù)表booktable中某個(gè)類(lèi)別、某時(shí)間后出版的圖書(shū)。用戶(hù)在界面(ex9-07.html)中輸入類(lèi)別和日期,提交給ex9-07.jsp處理,輸出符合查詢(xún)條件的圖書(shū)。其關(guān)鍵查詢(xún)語(yǔ)句為:"Select*Frombooktablewheretype='"+b_typename+"'andpubdate>='"+e_pubdate+"'"復(fù)合條件查詢(xún)45JSPex9-07.html:<html><head><title>復(fù)合查詢(xún)應(yīng)用案例</title></head><body><center><fontsize=4color=blue>根據(jù)類(lèi)別和出版日期查詢(xún)圖書(shū)</font></center><hr><formmethod="post"action="ex9-07.jsp"><fontcolor=green>查詢(xún)<inputtype=textname="typename"size=10maxlength=10>類(lèi)<inputtype=textname="endpubdate"size=10maxlength=10>之后出版的圖書(shū)<p><inputtype=submitvalue="提交"><inputtype=resetvalue="清除"></form></font></body></html>46JSPex9-07.jsp:<%@pagecontentType="text/html;charset=GB2312"%><%@pageimport="java.sql.*"%><html><head><title>復(fù)合查詢(xún)</title></head><body><center><%request.setCharacterEncoding("GB2312");Stringb_typename=request.getParameter("typename");if(b_typename==null){b_typename="";}Stringe_pubdate=request.getParameter("endpubdate");if(e_pubdate==null){e_pubdate="";}%><fontsize=4color=blue>查詢(xún)<%=b_typename%>類(lèi)在<%=e_pubdate%>后出版的圖書(shū)</font><hr>47JSP<%");Connectionconn=DriverManager.getConnection("jdbc:odbc:bookshoplk","sa","");Statementstmt=conn.createStatement();try{ResultSetrs;//建立ResultSet(結(jié)果集)對(duì)象rs=stmt.executeQuery("Select*Frombooktablewheretype='"+b_typename+"'andpubdate>='"+e_pubdate+"'");%>48JSP9.3.6排序查詢(xún)
例9.8:用戶(hù)在界面(ex9-08.html)選擇排序工程,提交給ex9-08.jsp處理,根據(jù)用戶(hù)要求排序輸出圖書(shū)。其關(guān)鍵查詢(xún)語(yǔ)句為:"Select*FrombooktableOrderBy"+s_rname+""排序查詢(xún)49JSPex9-08.html:<html><head><title>排序查詢(xún)應(yīng)用案例</title></head><body><center><fontsize=4color=blue>排序查詢(xún)</font></center><hr><formmethod="post"action="ex9-08.jsp"><fontcolor=green><inputtype=radioname="rname"value="pubdate"checked>按出版日期排序<inputtype=radioname="rname"value="bookid">按書(shū)號(hào)排序<inputtype=radioname="rname"value="price">按價(jià)格排序<p><inputtype=submitvalue="提交"><inputtype=resetvalue="清除"></form></font></body></html>50JSPex9-08.jsp:<%@pagecontentType="text/html;charset=GB2312"%><%@pageimport="java.sql.*"%><html><head><title>排序查詢(xún)</title></head><body><center><%request.setCharacterEncoding("GB2312");Strings_rname=request.getParameter("rname");if(s_rname==null){s_rname="";}%><fontsize=4color=blue>按<%=s_rname%>排序</font><hr><%");Connectionconn=DriverManager.getConnection("jdbc:odbc:bookshoplk","sa","");Statementstmt=conn.createStatement();try{ResultSetrs;//建立ResultSet(結(jié)果集)對(duì)象rs=stmt.executeQuery("Select*FrombooktableOrderBy"+s_rname+"");%>51JSP9.4添加記錄1.應(yīng)用SQL語(yǔ)句添加新記錄例9.9:管理員在界面(ex9-09.html)輸入需要添加倒數(shù)據(jù)庫(kù)新書(shū)的數(shù)據(jù),并把這些數(shù)據(jù)提交給ex9-09.jsp處理。在ex9-09.jsp用SQL的Insert命令向booktable數(shù)據(jù)表插入一條新的圖書(shū)記錄,并輸出該條記錄。其關(guān)鍵查詢(xún)語(yǔ)句為:InsertIntobooktable(bookid,bookname,author,publisher,pubdate,price,type,quantity)Values('"+s_bkid+"','"+s_bkname+"','"+s_authorname+"','"+s_bkpublisher+"','"+s_bkpubdate+"','"+s_bkprice+"','"+s_bktype+"',"+s_bkquantity+")";添加新記錄52JSP<html><head><title>添加記錄應(yīng)用案例</title></head><body><center><fontsize=4color=blue>向數(shù)據(jù)庫(kù)添加新記錄</font></center><hr><formmethod="post"action="ex9-09.jsp"><fontcolor=green>書(shū)號(hào):<inputtype=textname="bkid"size=20>書(shū)名:<inputtype=textname="bkname"size=20><br>作者:<inputtype=textname="authorname"size=20>出版社:<inputtype=textname="bkpublisher"size=20><br>出版日期:<inputtype=textname="bkpubdate"size=20>價(jià)格:<inputtype=textname="bkprice"size=20><br>類(lèi)別:<inputtype=textname="bktype"size=20>數(shù)量:<inputtype=textname="bkquantity"size=20><p><inputtype=submitvalue="提交"><inputtype=resetvalue="清除"></form></font></body></html>53JSPex9-09.jsp<%@pagecontentType="text/html;charset=GB2312"%><%@pageimport="java.sql.*"%><html><head><title>添加記錄</title></head><body><center><%request.setCharacterEncoding("GB2312");Strings_bkid=request.getParameter("bkid");if(s_bkid==null){s_bkid="";}Strings_bkname=request.getParameter("bkname");if(s_bkname==null){s_bkname="";}Strings_authorname=request.getParameter("authorname");if(s_authorname==null){s_authorname="";}54JSPStrings_bkpublisher=request.getParameter("bkpublisher");if(s_bkpublisher==null){s_bkpublisher="";}Strings_bkpubdate=request.getParameter("bkpubdate");if(s_bkpubdate==null){s_bkpubdate="";}Strings_bkprice=request.getParameter("bkprice");if(s_bkprice==null){s_bkprice="";}Strings_bktype=request.getParameter("bktype");if(s_bktype==null){s_bktype="";}
55JSPStrings_bkquantity=request.getParameter("bkquantity");if(s_bkquantity==null){s_bkquantity="";}%><fontsize=4color=blue>新添加的記錄</font><hr><%Stringsql;");Connectionconn=DriverManager.getConnection("jdbc:odbc:bookshoplk","sa","");Statementstmt=conn.createStatement();try{sql="InsertIntobooktable(bookid,bookname,author,publisher,pubdate,price,type,quantity)Values('"+s_bkid+"','"+s_bkname+"','"+s_authorname+"','"+s_bkpublisher+"','"+s_bkpubdate+"','"+s_bkprice+"','"+s_bktype+"',"+s_bkquantity+")";stmt.executeUpdate(sql);ResultSetrs;//建立ResultSet(結(jié)果集)對(duì)象rs=stmt.executeQuery("Select*Frombooktablewherebookid='"+s_bkid+"'");%>56JSP9.5更新記錄
例9.10:管理員在界面(ex9-10.html)輸入需要更新數(shù)據(jù)的圖書(shū)書(shū)號(hào),并把更新的數(shù)據(jù)提交給ex9-10.jsp處理。在ex9-10.jsp用SQL的Update語(yǔ)句更新記錄,并輸出更新后的記錄。其關(guān)鍵語(yǔ)句為:"updatebooktableSetquantity='"+s_bkquantity+"'wherebookid='"+s_bkid+"'";更新記錄57JSPex9-10.html<html><head><title>更新記錄應(yīng)用案例</title></head><body><center><fontsize=4color=blue>更新新記錄</font></center><hr><formmethod="post"action="ex9-10.jsp>輸入需要更新數(shù)量的圖書(shū)書(shū)號(hào):<inputtype=textname="bkid"size=20>輸入新的數(shù)量:<inputtype=textname="bkquantity"size=20><p><inputtype=submitvalue="提交"><inputtype=resetvalue="清除"></form></body></html>58JSPex9-10.jsp<%@pagecontentType="text/html;charset=GB2312"%><%@pageimport
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- DB6528T 204-2024加工辣椒根結(jié)線(xiàn)蟲(chóng)病綜合防控技術(shù)規(guī)程
- 個(gè)人車(chē)輛股份購(gòu)置合同
- 上市公司期權(quán)激勵(lì)合同標(biāo)準(zhǔn)范本
- IT運(yùn)維外包服務(wù)合同范本
- 個(gè)人與銀行借款抵押合同
- 交通銀行企業(yè)貸款合同范例
- 中外貿(mào)易采購(gòu)合同(CFR條款)
- 交通監(jiān)控設(shè)備保養(yǎng)合同
- 場(chǎng)物業(yè)委托管理合同
- 一站式租車(chē)帶駕合同
- 借名買(mǎi)車(chē)的協(xié)議書(shū)范文范本
- 《2024 ESC血壓升高和高血壓管理指南》解讀
- 歷史公開(kāi)課《第1課中華人民共和國(guó)成立》教案教學(xué)設(shè)計(jì)-第1課中華人民共和國(guó)成立-初二下冊(cè)歷史
- 北京中考英語(yǔ)詞匯表(1600詞匯)
- 20世紀(jì)西方音樂(lè)智慧樹(shù)知到期末考試答案章節(jié)答案2024年北京大學(xué)
- 塑料 聚氨酯生產(chǎn)用聚醚多元醇 堿性物質(zhì)含量的測(cè)定
- 運(yùn)動(dòng)技能學(xué)習(xí)與控制課件第十二章運(yùn)動(dòng)技能學(xué)習(xí)的反饋
- 食材配送售后服務(wù)方案
- 2024年浙江省溫州市中考一模語(yǔ)文試題
- 《陸上風(fēng)電場(chǎng)工程設(shè)計(jì)概算編制規(guī)定及費(fèi)用標(biāo)準(zhǔn)》(NB-T 31011-2019)
- 精神科醫(yī)生培訓(xùn)課件
評(píng)論
0/150
提交評(píng)論