




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
任務(wù):用戶及成績管理界面,可以
新用戶,信息,用戶信息保系統(tǒng)提供用戶也可更改用戶自已存到數(shù)據(jù)庫中。任務(wù):用戶及成績管理結(jié)束時,都要更玩家參與
,每次新各玩家的
總成績,并記錄日志,玩家可以隨時查看自已的歷史成績。用戶信息表(userinfo)字段名稱說明類型長度約束UserID用戶IDVarchar10主鍵UserName用戶名稱Varchar20FacePic頭象號IntegerPassWord用戶預(yù)設(shè)Varchar20UserType用戶類型Varchar10管理/玩家GenderChar2IsMarried用戶級別Varchar10/未婚/已婚/離異HowOldIntegerCity城市Varchar20Address地址Varchar100NoVarchar20電子郵箱Varchar30UserDesc用戶描述Varchar500RegisterTime冊注時間DateTimePlayNum次數(shù)IntegerWinNum贏次數(shù)IntegerGameScore累計分IntegerRecentGame最近一次時間DateTime室信息(roominfo)字段名稱說明類型長度約束RoomName廳名稱Varchar20主鍵RoomType廳類型Varchar10高手/中級/新手ManageBy管理人Varchar30RoomDesc室介紹Varchar200事件日志表(userlog)字段名稱說明類型長度約束LogId日志序號Integer主鍵UserID用戶IDVarchar20外鍵EventType事件分類Varchar10EventDesc事件描述Varchar100EventTime發(fā)生時間DateTime方案:功能分析與設(shè)計要點連接數(shù)據(jù)庫新用戶用戶信息的查看與更新錯誤處理技術(shù)連接數(shù)據(jù)庫實現(xiàn)“連接數(shù)據(jù)庫代碼”的重用,把連接數(shù)據(jù)庫的程序封裝到一個類中,用靜態(tài)方法實現(xiàn)連接數(shù)據(jù)庫功能,供后面的程序多處重用,這樣,也方便數(shù)據(jù)庫遷移時,只需連接類的程序。提示:可以考慮連接池連接數(shù)據(jù)庫dbConnect.java:packagemygame;import
java.sql.*;public
class
dbConnect
{public
static
Connectiongetconntion(){String
dbURL="jdbc:sqlserver://localhost:1433;DatabaseName=gamedb";String
userName="sa";
//默認用戶名String
userPwd
=
"123456";
//Connectiondbconn
=
null;try{Class.forName("com.
.sqlserver.jdbc.SQLServerDriver");dbconn
=
DriverManager.getConnection(dbURL,userName,userPwd);}catch
(Exception
e){e.printStackTrace();}return
dbconn;}}新用戶把新用戶
功能設(shè)計為兩頁:信息輸入界面頁userRegister.htm信息處理頁douserRegister.jsp。檢驗數(shù)據(jù)是否符合要求,用戶ID是否已存在(不重復(fù))。失敗時,提示失敗信息,并返回
信息輸入界面頁userRegister.jsp,如果 成功,就轉(zhuǎn)到大廳。用戶信息的查看與更新用戶信息的查看與更新功能設(shè)計為一頁-----用戶信息頁userInfo.jsp查詢信息時的URL:userInfo.jsp?cmd=load,從數(shù)據(jù)庫按用戶ID檢索到用戶信息,填充到網(wǎng)頁上的控件,進行顯示。提交更新時的URL:userInfo.jsp?cmd=update,用戶在界面上
后提交給此URL,服務(wù)器端程序檢查數(shù)據(jù)的正確性,更新到數(shù)據(jù)庫表中。用戶信息的查看與更新將JSP的頁面功能與功能邏輯代碼分離,把功能邏輯代碼封裝為JAVA類,再在JSP頁內(nèi)調(diào)用類或?qū)嵗姆椒?。userInfoBean類的結(jié)構(gòu)圖:錯誤處理技術(shù)當JSP頁程序、所調(diào)用的對象方法中出現(xiàn)異常時,如果不進行捕獲與處理,系統(tǒng)的內(nèi)部錯誤信息將被直接顯示,這樣的程序是不友好的。因此,要對被調(diào)用的對象方法中出現(xiàn)異常進行捕獲,然后重新拋出具有“友好”信息的異常,供JSP頁捕獲處理。實踐:用戶及信息更新用戶
:–設(shè)計userRegister.htm→設(shè)計douserRegister.jsp→在login.jsp中添加userRegister.htm
;Gamehome.jsp重定向提交douserRegister.jspuserRegister.htm驗證錯誤實踐:用戶
及信息更新信息更新–實現(xiàn)UserInfoBean.java類→設(shè)計userInfo.jsp→在gamehome.jsp中添加userInfo.jsp
。userInfo.jsp?cmd=loadUserInfoBean.java更新查詢查看信息userInfo.jsp?cmd=updateJDBC知識與技術(shù)數(shù)據(jù)庫操作過程加載驅(qū)動程序建立連接對象執(zhí)行SQL
語句執(zhí)行參數(shù)化SQL執(zhí)行
過程結(jié)果集的使用加載驅(qū)動程序DriverManager
類是JDBC
的管理層,作用于用戶和驅(qū)動程序之間。在數(shù)據(jù)庫和相應(yīng)驅(qū)動程序之間建立連接。下面是加載Oracle數(shù)據(jù)庫JDBC驅(qū)動程序的方法:Class.forName(“oracle.jdbc.driver.OracleDriver”);oracle的Driver的全名oracle.jdbc.driver.OracleDrivermysql的Driver的全名com.mysql.jdbc.DriverSQLServer的Driver的全名com.
.jdbc.sqlserver.SQLServerDriver以上的全名,實際上是驅(qū)動類的名字,記得要把該類包含在項目可以
的位置。建立連接對象加載Driver
類后,它們即可用來與數(shù)據(jù)庫建立連接。當調(diào)用DriverManager.getConnection方法發(fā)出連接請求時,DriverManager
將檢查驅(qū)動程序,查看它是否可以建立連接。建立連接所需所有步驟的示例://加載驅(qū)動程序
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String
url="jdbc:odbc:fred";DriverManager.getConnection(url,"userID","passwd");執(zhí)行SQL
語句Statement
對象用于將SQL
語句發(fā)送到數(shù)據(jù)庫中。實際上有三種
Statement
對象,它們都作為在給定連接上執(zhí)行SQL語句的包容器:Statement:用于執(zhí)行不帶參數(shù)的簡單SQL
語句PreparedStatement:用于執(zhí)行帶或不帶IN參數(shù)的預(yù)編譯SQL
語句CallableStatement:用于執(zhí)行對數(shù)據(jù)庫已
過程的調(diào)用創(chuàng)建Statement
對象建立了到特定數(shù)據(jù)庫的連接之后,就可用該連接發(fā)送SQL
語句。Statement
對象用Connection
的方法createStatement
創(chuàng)建。如下列代碼段中所示:Connection
conn
=
DriverManager.getConnection(url,
"sunny",
"");Statement
stmt
=
conn.createStatement();Statement
對象執(zhí)行語句executeQueryexecuteUpdateexecuteexecuteQuery用于產(chǎn)生單個結(jié)果集的語句,例如,SELECT語句:ResultSet
rs
=
stmt.executeQuery(“select
*
fromjobs”);executeUpdate用于執(zhí)行INSERT、UPDATE
或DELETE
語句以及SQL
DDL(數(shù)據(jù)定義語言)語句,例如CREATE
TABLE
和DROP
TABLE。INSERT、UPDATE
或DELETE
語句的效果是修改表中零行或多行中的一列或多列。executeUpdate
的返回值是一個整數(shù),指示受影響的行數(shù)(即更新計數(shù))。對于CREATE
TABLE
或DROP
TABLE
等不操作行的語句,executeUpdate
的返回值總為零。Int
n=stmt.executeUpdate(“update
sales
setprice=0.8*price”);execute用于執(zhí)行返回多個結(jié)果集、多個更新計數(shù)或二者組合的語句。execute方法比較少用,僅在語句能返回多個ResultSet
對象、多個更新計數(shù)或ResultSet
對象與更新計數(shù)的組合時使用。結(jié)果集的使用ResultSet
包含符合SQL
語句中條件的所有行,通過get
方法可以 結(jié)果集中當前行的列值,ResultSet.next
方法用于移動到ResultSet
中的下一行,使下一行成為當前行。java.sql.Statement
stmt
=
conn.createStatement();ResultSet
r
=stmt.executeQuery("select
*
from
Sales");while
(r.next())
{String
s
=
r.getString("productname");int
i
=
r.getInt("qty");float
f
=
r.getFloat("price");…….}注意列是從左至右
的,并且從列
1
開始。同時,用作get
方法的輸入的列名不區(qū)分大小寫。執(zhí)行參數(shù)化SQL創(chuàng)建PreparedStatement
對象:PreparedStatement
pstmt
=
con.prepareStatement("update
books
set
qty=
?
where
title
=
?");傳遞IN參數(shù)在執(zhí)行PreparedStatement
對象之前,必須設(shè)置每個?參數(shù)的值。這可通過調(diào)用set
方法來完成,其中是與該參數(shù)相應(yīng)的類型。例如:pstmt.setInt(1,
100);pstmt.setString(2,”JSP程序設(shè)計”);研究:成績查詢及用戶研究任務(wù)1:設(shè)計一個JAVA類,編寫一個方法實現(xiàn) 結(jié)束時將得分更新到數(shù)據(jù)庫表中,并記錄事件日志;編寫一個方法實現(xiàn)按用戶ID查詢成績。設(shè)計一個查看當前用戶的“
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025黑龍江黑河市遜克縣鄉(xiāng)村醫(yī)生公開招聘19人模擬試卷及一套參考答案詳解
- 2025年中國化工填料行業(yè)市場分析及投資價值評估前景預(yù)測報告
- 2025北京郵電大學(xué)第二批招聘38人考前自測高頻考點模擬試題及答案詳解(名校卷)
- 2025年河北唐山幼兒師范高等??茖W(xué)校選聘工作人員35人模擬試卷及一套完整答案詳解
- 2025年濱州市面向社會公開招聘碩博士高層次人才(168人)考前自測高頻考點模擬試題及參考答案詳解
- 2025年河北承德灤平縣公開招聘社區(qū)工作者22名考前自測高頻考點模擬試題完整參考答案詳解
- 2025年煙臺海陽市衛(wèi)生健康局所屬事業(yè)單位公開招聘高層次人才(46人)模擬試卷及答案詳解(奪冠系列)
- 2025春季四川瀘州市合江縣事業(yè)單位人才招聘19人考前自測高頻考點模擬試題附答案詳解(典型題)
- 2025年第十三屆貴州人才博覽會黔東南州事業(yè)單位人才引進213人模擬試卷附答案詳解(完整版)
- 2025湖南澄邁縣農(nóng)業(yè)技術(shù)推廣中心招聘見習(xí)生7人模擬試卷含答案詳解
- 大學(xué)生職業(yè)生涯規(guī)劃與就業(yè)指導(dǎo)全套教學(xué)課件
- 5KW儲能電源作業(yè)指導(dǎo)書
- (2024版)小學(xué)六年級數(shù)學(xué)考試命題趨勢分析
- 中級注冊安全工程師-其他安全歷年真題
- 小學(xué)生自己修改作文能力的培養(yǎng)研究課題結(jié)題報告.文檔
- CREO基礎(chǔ)培訓(xùn)教程
- 食品保質(zhì)期檢測記錄表
- 詩化小說示范課
- (17)-第三節(jié) 反抗外國武裝侵略的斗爭
- 04質(zhì)量獎(現(xiàn)場)評審報告
- 《羅織經(jīng)》全文及翻譯
評論
0/150
提交評論