![Web技術(shù)應(yīng)用基礎(chǔ)-d09_第1頁](http://file4.renrendoc.com/view3/M01/2D/1C/wKhkFmYDVMWAbtJMAAGOx6KapC0097.jpg)
![Web技術(shù)應(yīng)用基礎(chǔ)-d09_第2頁](http://file4.renrendoc.com/view3/M01/2D/1C/wKhkFmYDVMWAbtJMAAGOx6KapC00972.jpg)
![Web技術(shù)應(yīng)用基礎(chǔ)-d09_第3頁](http://file4.renrendoc.com/view3/M01/2D/1C/wKhkFmYDVMWAbtJMAAGOx6KapC00973.jpg)
![Web技術(shù)應(yīng)用基礎(chǔ)-d09_第4頁](http://file4.renrendoc.com/view3/M01/2D/1C/wKhkFmYDVMWAbtJMAAGOx6KapC00974.jpg)
![Web技術(shù)應(yīng)用基礎(chǔ)-d09_第5頁](http://file4.renrendoc.com/view3/M01/2D/1C/wKhkFmYDVMWAbtJMAAGOx6KapC00975.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第9章基于JSP的Web數(shù)據(jù)庫應(yīng)用開發(fā)第3篇JSPWeb數(shù)據(jù)庫應(yīng)用開發(fā)1JSP9.1Web數(shù)據(jù)庫應(yīng)用根底9.1.1數(shù)據(jù)庫根本概念1.根本術(shù)語(1)數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫系統(tǒng)是一個存儲數(shù)據(jù)的計算機系統(tǒng).數(shù)據(jù)庫是一個按數(shù)據(jù)結(jié)構(gòu)來存儲和管理數(shù)據(jù)的計算機軟件系統(tǒng)。數(shù)據(jù)庫概念包含兩層意思:?數(shù)據(jù)庫保管數(shù)據(jù)的“倉庫”,“數(shù)據(jù)”和“庫”結(jié)合成為“數(shù)據(jù)庫”?數(shù)據(jù)庫是數(shù)據(jù)管理的方法和技術(shù),它能夠合理地組織數(shù)據(jù)、方便地維護(hù)數(shù)據(jù)、嚴(yán)密地控制數(shù)據(jù)和有效地利用數(shù)據(jù)數(shù)據(jù)庫是一個合理組織了的數(shù)據(jù)倉庫。2JSP數(shù)據(jù)庫管理系統(tǒng)〔DBMS〕數(shù)據(jù)庫管理系統(tǒng)是管理數(shù)據(jù)庫的軟件系統(tǒng)。目前市場上比較著名的數(shù)據(jù)庫管理系統(tǒng)有Oracle、Sybase、Informix、SQLServer等。3JSP2.數(shù)據(jù)庫設(shè)計與管理信息系統(tǒng)管理信息系統(tǒng)簡稱為MIS(ManagementInformationSystem,管理信息系統(tǒng)幫助人們完成需要手工處理的信息處理工作。管理信息系統(tǒng)的數(shù)據(jù)存放在數(shù)據(jù)庫中。4數(shù)據(jù)庫用戶息信管理系統(tǒng)功能模塊數(shù)據(jù)庫管理系統(tǒng)用戶用戶管理信息系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)和數(shù)據(jù)庫的關(guān)系5JSP3.數(shù)據(jù)庫、表、記錄和字段數(shù)據(jù)庫:數(shù)據(jù)庫中的數(shù)據(jù)表示為多個表的集合,通過建立表與表之間的關(guān)系來定義數(shù)據(jù)庫的結(jié)構(gòu)。表:按某一公共結(jié)構(gòu)存儲的一組相似數(shù)據(jù),它是數(shù)據(jù)庫的根底構(gòu)件。記錄:表中數(shù)據(jù)以行、列方式將相關(guān)信息排列成邏輯組,表中每一行稱為一個記錄字段:表中每一列稱為字段6JSP7JSP創(chuàng)立數(shù)據(jù)庫和表1.創(chuàng)立數(shù)據(jù)庫(1)啟動SQLServer效勞管理器選擇“開始→所有程序→MicrosoftSQLServer→效勞管理器”。如果管理器沒有啟動,點擊“開始”按鈕啟動效勞管理器。(2)創(chuàng)立數(shù)據(jù)庫選擇“開始→所有程序→MicrosoftSQLServer→企業(yè)管理器”,翻開“SQLServerEnterpriseManager”界面。在控制臺樹中右擊“數(shù)據(jù)庫”節(jié)點,選擇“新建數(shù)據(jù)庫.出現(xiàn)“數(shù)據(jù)庫屬性”對話框,輸入數(shù)據(jù)庫的名稱,例如“bookshop”。單擊“確定”按鈕,bookshop數(shù)據(jù)庫創(chuàng)立完成,在控制臺樹中見到該數(shù)據(jù)庫。8JSP2.創(chuàng)立新表創(chuàng)立booktable表。(1)選擇“開始→程序→MicrosoftSQLServer→企業(yè)管理器→數(shù)據(jù)庫→bookshop”;(2)右擊“表”節(jié)點,然后選擇快捷菜單中的“新建表”命令;(3)在表設(shè)計器窗口設(shè)計bootable表的結(jié)構(gòu),輸入相應(yīng)的字段名、類型、長度、是否為空和默認(rèn)值等。選擇bookid字段,單擊工具欄“設(shè)置主鍵”圖標(biāo),將bookid字段設(shè)為主關(guān)鍵字。當(dāng)字段為主關(guān)鍵字時,該字段不允許出現(xiàn)空值。(4)設(shè)計完成后單擊工具欄“保存”圖標(biāo),出現(xiàn)“選擇名稱”對話框,在對話框中輸入表名booktable,單擊“確定”按鈕。(5)單擊標(biāo)題欄“關(guān)閉”按鈕。9JSP10JSP9.1.3SQL語句1.選擇語句〔SelectStatement〕
SELECT字段1[,字段2,…]FROM表名[WHERE條件表達(dá)式](1)在booktable表中檢索所有書名SELECTbooknameFROMbooktable功能:從booktable表的bookname字段檢索數(shù)據(jù)。SELECT:關(guān)鍵字,說明要做查詢操作;bookname:字段名,數(shù)據(jù)從該字段中檢索;FROM:關(guān)鍵字,指明信息來源,后面列出表的名稱。booktable:表的名稱,數(shù)據(jù)從該表中檢索。結(jié)果集是booktable表中的全部書名11JSP(2)在booktable表中查詢書號等于ISBN7-302-08599-4的書名,SELECTbooknameFROMbooktableWHEREISBN7-302-08599-4(3)范圍查詢,在booktable表中查詢2008年上半年出版的書名,SELECTbooknameFROMbooktableWHEREpubdateBetween‘2008-1-1’and‘2008-6-30’(4)ORDERBY子句,使結(jié)果集按序排列。圖書按出版日期排序:SELECT*FROMbooktableORDERBYbookid缺省值是升序,按降序排列,加關(guān)鍵字DESC(5)模糊查詢,在WHERE子句中應(yīng)用LIKE運算符,可以只選擇與用戶規(guī)定格式相同的記錄。用通配符“%”可以代替任何字符串。例如,在userinfo表中查詢所有姓王的讀者,可用以下語句:SELECT*FROMuserinfoWHEREusernameLIKE‘王%’12JSP2.插入語句〔InsertStatement〕一個或多個記錄添加到指定表中。INSERTINTO表名(字段1[,字段2,…n])VALUES(值1[,值2,…n])例如,在booktable表中插入新書記錄(書號:ISBN7-04-012301-0,書名:C++程序設(shè)計,吳乃陵,出版社編號:3,出版日期:2003-8-1,定價:29.5):INSERTINTObooktable(bookid,bookname,author,publisher,pubdate,price,type,quantity)VALUES(‘ISBN7-04-012301-0’,’C++程序設(shè)計’,’吳乃陵’,’高等教育出版社‘,’2003-8-1’,29.5,’計算機‘,100)13JSP3.更新語句〔UpdateStatements〕更新表中的字段。UPDATE表名SET列名=表達(dá)式[,列名=表達(dá)式,…][WHERE條件表達(dá)式]例如,在booktable表中把所有圖書的在庫冊數(shù)減2,語句如下:UPDATEbooktableSETquantity=quantity-214JSP4.刪除語句(DeleteStatement)刪除由FROM子句列出的、滿足WHERE子句條件的一個或多個表中的記錄。DELETEFROM表名[WHERE條件表達(dá)式]例如,在booktable表中刪除剛剛插入的書號為ISBN7-04-012301-0的記錄,語句如下:DELETEFROMbooktableWHEREbookid=ISBN7-04-012301-0又如:下條SQL語句的功能將刪除表中所有的記錄,使用時要特別留神:DELETEFROMbooktable15JSP9.2JDBC接口技術(shù)9.2.1JDBC概述1.什么是JDBCJDBC(JavaDatabaseConnectivity)接口技術(shù)實際上是一種通過Java語言訪問任何結(jié)構(gòu)化數(shù)據(jù)庫的應(yīng)用程序接口(API)。16JSP2.JDBC的功能
(1)與一個數(shù)據(jù)庫建立連接(connection);(2)向數(shù)據(jù)庫發(fā)送SQL語句(statement);(3)處理數(shù)據(jù)庫返回的結(jié)果(resultset)。17JSP3.JDBC訪問數(shù)據(jù)庫的四種方式(1)JDBC-ODBCBridge驅(qū)動程序
(2)本地API驅(qū)動
(3)網(wǎng)絡(luò)協(xié)議驅(qū)動
(4)本地協(xié)議驅(qū)動
18JSP9.2.2JDBC-ODBC橋以網(wǎng)上書店的bookshop數(shù)據(jù)庫為例。建立數(shù)據(jù)源(DSN:DataSourceName)
19JSP9.2.2JDBC建立數(shù)據(jù)庫連接例如
用JDBC-ODBCBridge驅(qū)動程序建立與數(shù)據(jù)庫的連接。例9.1:使用JSP技術(shù)查詢booktable表中書號是ISBN7-04-012301-0的圖書。JDBC-ODBCBridge20JSP<%@pagecontentType="text/html;charset=GB2312"%><%@pageimport="java.sql.*"%><html><head><title>JDBC建立數(shù)據(jù)庫連接</title></head><body><center><fontsize=5color=blue>數(shù)據(jù)查詢</font><hr><%//加載驅(qū)動程序");//建立連接Connectionconn=DriverManager.getConnection("jdbc:odbc:bookshoplk","sa","");//發(fā)送SQL語句Statementstmt=conn.createStatement();try{//建立ResultSet(結(jié)果集)對象ResultSetrs;//執(zhí)行SQL語句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對象}catch(Exceptione){out.println(e.getMessage());}stmt.close();//關(guān)閉Statement對象conn.close();//關(guān)閉Connection對象 %> </table></center></body></html>23JSP9.2.3JDBC建立數(shù)據(jù)庫連接方法詳解JDBC建立數(shù)據(jù)庫連接步驟(1)參加命令行:<%@pageimport="java.sql.*"%>(2)加載驅(qū)動程序:");(3)建立連接:Connectionconn=DriverManager.getConnection("jdbc:odbc:bookshoplk","sa","");(4)發(fā)送SQL語句:Statementstmt=conn.createStatement();(5)建立ResultSet(結(jié)果集)對象:ResultSetrs;(6)執(zhí)行SQL語句:rs=stmt.executeQuery("SELECT*FROMbooktablewherebookid='ISBN7-04-012301-0'");(7)關(guān)閉對象:rs.close();//關(guān)閉ResultSet對象stmt.close();//關(guān)閉Statement對象conn.close();//關(guān)閉Connection對象 24JSP例9.2:輸出booktable表中各列的名稱。代碼創(chuàng)立了ResultSetMetaData對象rsmd,并使用getColumnCount()和getColumnName()方法取得booktable表中的列數(shù)和列名。輸出booktable表列名25JSP<%@pagecontentType="text/html;charset=GB2312"%><%@pageimport="java.sql.*"%><html><head><title>輸出booktable表各列的名稱</title></head><body><center><fontsize=4color=blue>輸出booktable表各列的名稱</font><hr><br><%");//建立連接Connectionconn=DriverManager.getConnection("jdbc:odbc:bookshoplk","sa","");//發(fā)送SQL語句Statementstmt=conn.createStatement();ResultSetrs=stmt.executeQuery("SELECT*FROMbooktable");ResultSetMetaDatarsmd=rs.getMetaData();//創(chuàng)立ResultSetMetaData對象%><p>26JSP記錄集中共有<fontsize=4color=red><%=rsmd.getColumnCount()%></font>列,各列的名稱是:<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對象stmt.close();//關(guān)閉Statement對象conn.close();//關(guān)閉數(shù)據(jù)庫連接對象%></font></body></html>27JSP(6)執(zhí)行SQL語句
rs=stmt.executeQuery("SELECT*FROMbooktable");28JSP9.3查詢記錄順序查詢
例9.3:順序輸出數(shù)據(jù)表“booktable”中的所有記錄和所有字段。使用代碼:"Select*Frombooktable"從booktable數(shù)據(jù)表選擇所有的記錄。順序查詢29JSP<%@pagecontentType="text/html;charset=GB2312"%><%@pageimport="java.sql.*"%><html><head><title>順序查詢</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é)果集)對象rs=stmt.executeQuery("SELECT*FROMbooktable");//執(zhí)行SQL語句%><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對象}catch(Exceptione){out.println(e.getMessage());}stmt.close();//關(guān)閉Statement對象conn.close();//關(guān)閉Connection對象 %> </table></center></body></html>32JSP9.3.2參數(shù)查詢
例9.4:用戶在界面輸入查詢條件,如出版社的名稱,輸入的名稱提交給ex9-04.jsp處理,輸出數(shù)據(jù)表“booktable”中需要查詢的出版社出版的圖書。其關(guān)鍵查詢語句為:"Select*Frombooktablewherepublisher='"+publishername+"'"參數(shù)查詢33JSPex9-04.html:<html><head><title>參數(shù)查詢應(yīng)用案例</title></head><body><center><fontsize=4color=blue>圖書查詢</font></center><hr><formmethod="post"action="ex9-04.jsp"><fontcolor=green>請輸入出版社名稱:<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>選擇查詢</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é)果集)對象rs=stmt.executeQuery("Select*Frombooktablewherepublisher='"+publishername+"'");//執(zhí)行SQL語句%>36JSP9.3.3模糊查詢
例9.5:用戶在界面(ex9-05.html)中輸入書名中的局部詞匯,輸入的局部詞匯提交給ex9-05.jsp處理,輸出數(shù)據(jù)表“booktable”中所有包含該詞匯圖書的書名。其關(guān)鍵查詢語句為:"Select*Frombooktablewherebooknamelike'%"+b_name+"%'"模糊查詢37JSPex9-05.html:<html><head><title>模糊查詢應(yīng)用案例</title></head><body><center><fontsize=4color=blue>模糊查詢</font></center><hr><formmethod="post"action="ex9-05.jsp"><fontcolor=green>書名:<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>模糊查詢</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)的圖書</font><hr>39JSP<%");Connectionconn=DriverManager.getConnection("jdbc:odbc:bookshoplk","sa","");Statementstmt=conn.createStatement();try{ResultSetrs;//建立ResultSet(結(jié)果集)對象rs=stmt.executeQuery("Select*Frombooktablewherebooknamelike'%"+b_name+"%'");%>40JSP范圍查詢例9.6:輸出數(shù)據(jù)表booktable中某段時間內(nèi)出版的圖書。用戶在界面(ex9-06.html)中輸入查詢的開始日期和截至日期,提交給ex9-06.jsp處理,輸出數(shù)據(jù)表booktable中該時間段出版的圖書。其關(guān)鍵查詢語句為:"Select*Frombooktablewherepubdatebetween'"+s_pubdate+"'and'"+e_pubdate+"'"范圍查詢41JSPex9-06.html:<html><head><title>范圍查詢應(yīng)用案例</title></head><body><center><fontsize=4color=blue>根據(jù)出版日期查詢圖書</font></center><hr><formmethod="post"action="ex9-06.jsp"><fontcolor=green>查詢在<inputtype=textname="starpubdate"size=10maxlength=10>和<inputtype=textname="endpubdate"size=10maxlength=10>之間出版的圖書<inputtype=submitvalue="提交"><inputtype=resetvalue="清除"></form></font></body></html>42JSPex9-06.jsp:<%@pagecontentType="text/html;charset=GB2312"%><%@pageimport="java.sql.*"%><html><head><title>范圍查詢</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%>之間出版的圖書</font><hr><%");Connectionconn=DriverManager.getConnection("jdbc:odbc:bookshoplk","sa","");Statementstmt=conn.createStatement();try{ResultSetrs;//建立ResultSet(結(jié)果集)對象rs=stmt.executeQuery("Select*Frombooktablewherepubdatebetween'"+s_pubdate+"'and'"+e_pubdate+"'");%>44JSP9.3.5復(fù)合條件查詢
例9.7:輸出數(shù)據(jù)表booktable中某個類別、某時間后出版的圖書。用戶在界面(ex9-07.html)中輸入類別和日期,提交給ex9-07.jsp處理,輸出符合查詢條件的圖書。其關(guān)鍵查詢語句為:"Select*Frombooktablewheretype='"+b_typename+"'andpubdate>='"+e_pubdate+"'"復(fù)合條件查詢45JSPex9-07.html:<html><head><title>復(fù)合查詢應(yīng)用案例</title></head><body><center><fontsize=4color=blue>根據(jù)類別和出版日期查詢圖書</font></center><hr><formmethod="post"action="ex9-07.jsp"><fontcolor=green>查詢<inputtype=textname="typename"size=10maxlength=10>類<inputtype=textname="endpubdate"size=10maxlength=10>之后出版的圖書<p><inputtype=submitvalue="提交"><inputtype=resetvalue="清除"></form></font></body></html>46JSPex9-07.jsp:<%@pagecontentType="text/html;charset=GB2312"%><%@pageimport="java.sql.*"%><html><head><title>復(fù)合查詢</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>查詢<%=b_typename%>類在<%=e_pubdate%>后出版的圖書</font><hr>47JSP<%");Connectionconn=DriverManager.getConnection("jdbc:odbc:bookshoplk","sa","");Statementstmt=conn.createStatement();try{ResultSetrs;//建立ResultSet(結(jié)果集)對象rs=stmt.executeQuery("Select*Frombooktablewheretype='"+b_typename+"'andpubdate>='"+e_pubdate+"'");%>48JSP9.3.6排序查詢
例9.8:用戶在界面(ex9-08.html)選擇排序工程,提交給ex9-08.jsp處理,根據(jù)用戶要求排序輸出圖書。其關(guān)鍵查詢語句為:"Select*FrombooktableOrderBy"+s_rname+""排序查詢49JSPex9-08.html:<html><head><title>排序查詢應(yīng)用案例</title></head><body><center><fontsize=4color=blue>排序查詢</font></center><hr><formmethod="post"action="ex9-08.jsp"><fontcolor=green><inputtype=radioname="rname"value="pubdate"checked>按出版日期排序<inputtype=radioname="rname"value="bookid">按書號排序<inputtype=radioname="rname"value="price">按價格排序<p><inputtype=submitvalue="提交"><inputtype=resetvalue="清除"></form></font></body></html>50JSPex9-08.jsp:<%@pagecontentType="text/html;charset=GB2312"%><%@pageimport="java.sql.*"%><html><head><title>排序查詢</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é)果集)對象rs=stmt.executeQuery("Select*FrombooktableOrderBy"+s_rname+"");%>51JSP9.4添加記錄1.應(yīng)用SQL語句添加新記錄例9.9:管理員在界面(ex9-09.html)輸入需要添加倒數(shù)據(jù)庫新書的數(shù)據(jù),并把這些數(shù)據(jù)提交給ex9-09.jsp處理。在ex9-09.jsp用SQL的Insert命令向booktable數(shù)據(jù)表插入一條新的圖書記錄,并輸出該條記錄。其關(guān)鍵查詢語句為: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ù)庫添加新記錄</font></center><hr><formmethod="post"action="ex9-09.jsp"><fontcolor=green>書號:<inputtype=textname="bkid"size=20>書名:<inputtype=textname="bkname"size=20><br>作者:<inputtype=textname="authorname"size=20>出版社:<inputtype=textname="bkpublisher"size=20><br>出版日期:<inputtype=textname="bkpubdate"size=20>價格:<inputtype=textname="bkprice"size=20><br>類別:<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é)果集)對象rs=stmt.executeQuery("Select*Frombooktablewherebookid='"+s_bkid+"'");%>56JSP9.5更新記錄
例9.10:管理員在界面(ex9-10.html)輸入需要更新數(shù)據(jù)的圖書書號,并把更新的數(shù)據(jù)提交給ex9-10.jsp處理。在ex9-10.jsp用SQL的Update語句更新記錄,并輸出更新后的記錄。其關(guān)鍵語句為:"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ù)量的圖書書號:<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. 本站所有資源如無特殊說明,都需要本地電腦安裝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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 ISO/IEC 27562:2024 EN Information technology - Security techniques - Privacy guidelines for fintech services
- 知識產(chǎn)權(quán)和保密合同協(xié)議書
- 多維遙感技術(shù)應(yīng)用合作協(xié)議
- 企業(yè)文化與品牌形象塑造合同
- 物流公司聘用駕駛員勞動合同
- 雙方協(xié)商培育樹苗合同書
- 挖機買賣合同書樣本
- 場食品安全協(xié)議書
- 招投標(biāo)合作代理協(xié)議
- 資源租賃合同
- 2025年度劇本殺劇本版權(quán)授權(quán)與收益分成合同
- 2025年春季學(xué)期學(xué)校工作計劃及安排表
- 2025年一種板式過濾膜裝置項目投資可行性研究分析報告
- BMS基礎(chǔ)知識培訓(xùn)
- 水刀除銹施工方案
- 醫(yī)院培訓(xùn)課件:《靜脈采血法并發(fā)癥的預(yù)防及處理》
- 《修繕學(xué)習(xí)交底資料》課件
- 2024-2025學(xué)年高二上學(xué)期期末復(fù)習(xí)解答題壓軸題十七大題型專練(范圍:第四、五章)(含答案)
- 筑牢安全防線共創(chuàng)平安校園
- 2024年大學(xué)生電子版三方協(xié)議書模板
- 2024初中數(shù)學(xué)課程標(biāo)準(zhǔn)測試題(含答案)精華版
評論
0/150
提交評論