




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、傳播優(yōu)秀Word版文檔 ,希望對(duì)您有幫助,可雙擊去除!JAVA課程設(shè)計(jì)報(bào)告課題名稱:設(shè)備管理系統(tǒng)目錄1 項(xiàng)目總體規(guī)劃12 系統(tǒng)需求分析42.1用戶管理基本功能分析52.2設(shè)備管理基本功能分析62.3數(shù)據(jù)管理基本功能分析23 數(shù)據(jù)庫設(shè)計(jì)14 關(guān)鍵技術(shù)和難點(diǎn)14.1 數(shù)據(jù)庫連接34.2 SQL語句的使用25 系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)15.1用戶管理設(shè)計(jì)與實(shí)現(xiàn)55.2設(shè)備管理設(shè)計(jì)與實(shí)現(xiàn)65.3數(shù)據(jù)管理設(shè)計(jì)與實(shí)現(xiàn)26 項(xiàng)目測試17 參考文獻(xiàn)1摘要:隨著社會(huì)生產(chǎn)活動(dòng)中自動(dòng)化水平越來越高,設(shè)備的監(jiān)控及其數(shù)據(jù)的存儲(chǔ)越來越重要。本系統(tǒng)使用JAVA語言,結(jié)合實(shí)際編寫了該設(shè)備管理系統(tǒng),可以實(shí)現(xiàn)對(duì)數(shù)據(jù)庫的準(zhǔn)確操作,完成用
2、戶的登錄、修改密碼、添加用戶、刪除用戶,及設(shè)備的添加和刪除,設(shè)備數(shù)據(jù)的添加、刪除和查詢等一系列功能。關(guān)鍵詞:設(shè)備管理系統(tǒng) 數(shù)據(jù)庫技術(shù) JDBC SQL語句1. 項(xiàng)目總體規(guī)劃隨著社會(huì)生產(chǎn)活動(dòng)中自動(dòng)化水平越來越高,設(shè)備的監(jiān)控及其數(shù)據(jù)的存儲(chǔ)越來越重要。數(shù)據(jù)庫技術(shù)已經(jīng)成為現(xiàn)代信息技術(shù)的重要組成部分,是現(xiàn)在計(jì)算機(jī)信息系統(tǒng)和計(jì)算機(jī)應(yīng)用系統(tǒng)的基礎(chǔ)和核心。對(duì)于任何一個(gè)企業(yè)來說,數(shù)據(jù)是企業(yè)重要的資產(chǎn),如何有效利用這些數(shù)據(jù),對(duì)于企業(yè)發(fā)展起著極其重要的作用。隨著我國市場經(jīng)濟(jì)的迅速發(fā)展,在工廠中,為了有效管理各種設(shè)備及其在運(yùn)作過程中產(chǎn)生的數(shù)據(jù),開發(fā)一個(gè)方便高效的管理軟件是非常必要的。本系統(tǒng)使用JAVA語言,結(jié)合實(shí)際編
3、寫了該設(shè)備管理系統(tǒng),可以實(shí)現(xiàn)對(duì)數(shù)據(jù)庫的準(zhǔn)確操作,完成用戶的登錄、修改密碼、添加用戶、刪除用戶,及設(shè)備的添加和刪除,設(shè)備數(shù)據(jù)的添加、刪除和查詢等一系列功能。本系統(tǒng)開始運(yùn)行時(shí)首先進(jìn)入登陸界面,用戶輸入正確的用戶名及密碼后進(jìn)入主窗體,然后通過點(diǎn)擊主窗體的各項(xiàng)菜單進(jìn)入各項(xiàng)功能。2. 系統(tǒng)需求分析2.1用戶管理基本功能分析系統(tǒng)中用戶需要正確的密碼才能獲得能錄權(quán)限,登錄之后可以進(jìn)行一系列數(shù)據(jù)操作。其功能定義如圖1所示。修改密碼刪除用戶用戶管理添加用戶圖12.2設(shè)備管理基本功能分析設(shè)備管理可以實(shí)現(xiàn)對(duì)設(shè)備的添加和刪除,其功能定義如圖2所示。設(shè)備列表刪除設(shè)備添加設(shè)備設(shè)備管理圖22.3數(shù)據(jù)管理基本功能分析數(shù)據(jù)管理
4、室系統(tǒng)的核心,可以實(shí)現(xiàn)對(duì)數(shù)據(jù)的添加、刪除及查詢,其功能定義如圖3所示。數(shù)據(jù)管理查詢數(shù)據(jù)刪除數(shù)據(jù)添加數(shù)據(jù)圖33.數(shù)據(jù)庫設(shè)計(jì)本系統(tǒng)使用微軟公司的ACCESS數(shù)據(jù),數(shù)據(jù)源名稱為” shebei ”。根據(jù)系統(tǒng)的需求,經(jīng)過詳細(xì)的分析設(shè)計(jì),本系統(tǒng)數(shù)據(jù)庫中各個(gè)數(shù)據(jù)表的字段定義和說明如下。users(用戶信息表),存放注冊用戶的信息,如表1.表1 users字段名稱數(shù)據(jù)類型大小描述username文本50用戶名password文本50密碼shebeilist(設(shè)備列表),存放設(shè)備列表,如表2.表2 shebeilist字段名稱數(shù)據(jù)類型大小描述id數(shù)字(自動(dòng)編號(hào))4ID號(hào)shebeiname文本50設(shè)備名稱sh
5、ebei1(設(shè)備信息表),名為shebei1 的設(shè)備的各項(xiàng)數(shù)據(jù)(程序中每臺(tái)設(shè)備建一個(gè)數(shù)據(jù)表),如表3.表3 shebei1字段名稱數(shù)據(jù)類型大小描述id數(shù)字(自動(dòng)編號(hào))4ID號(hào)dianya數(shù)字4電壓值dianliu數(shù)字4電流值zhuangtai文本50狀態(tài)guzhangcs數(shù)字4故障次數(shù)4. 關(guān)鍵技術(shù)和難點(diǎn)4.1數(shù)據(jù)庫連接JDBC(Java Data Base Connectivity,java數(shù)據(jù)庫連接)是一種用于執(zhí)行SQL語句的Java API,可以為多種關(guān)系數(shù)據(jù)庫提供統(tǒng)一訪問,它由一組用Java語言編寫的類和接口組成。JDBC提供了一種基準(zhǔn),據(jù)此可以構(gòu)建更高級(jí)的工具和接口,使數(shù)據(jù)庫開發(fā)人員
6、能夠編寫數(shù)據(jù)庫應(yīng)用程序。JDBC訪問ACCESS有兩種方式,一種是JDBC-ODBC橋接式,另一種是ODBC直接方式。本系統(tǒng)使用的是ODBC直接方式。ODBC直接連接方式采用了JDBC直接連接思想。他是在程序中直接指出需要使用的ODBC驅(qū)動(dòng)程序,從而免去了配置數(shù)據(jù)源的麻煩,提高程序的可移植性。首先需要加載驅(qū)動(dòng)程序,代碼如下:tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver);catch (ClassNotFoundException e)System.out.println(加載驅(qū)動(dòng)程序錯(cuò)誤!+e);然后就可以通過數(shù)據(jù)源連接到數(shù)據(jù)庫,關(guān)鍵代碼如下:Co
7、nnection conn;Statement stmt;ResultSet rs;String url=jdbc:odbc:Driver=MicroSoft Access Driver (*.mdb);DBQ=shebei.mdb;conn=DriverManager.getConnection(url,);stmt=conn.createStatement();rs=stmt.executeQuery(SELEC* FROM users where username=+t_name.getText()+);rs.close();stmt.close();conn.close();4.2 S
8、QL語句的使用系統(tǒng)開發(fā)過程中關(guān)鍵部分是SQL語句的使用。SQL(Structured Query Language)結(jié)構(gòu)化查詢語言,是一種數(shù)據(jù)庫查詢和程序設(shè)計(jì)語言,用于存取數(shù)據(jù)以及查詢、更新和管理關(guān)系數(shù)據(jù)庫系統(tǒng)。SQL語言包含4個(gè)部分: 數(shù)據(jù)定義語言(DDL),例如:CREATE、DROP、ALTER等語句。 數(shù)據(jù)操作語言(DML),例如:INSERT(插入)、UPDATE(修改)、DELETE(刪除)語句。 數(shù)據(jù)查詢語言(DQL),例如:SELECT語句。 數(shù)據(jù)控制語言(DCL),例如:GRANT、REVOKE、COMMIT、ROLLBACK等語句。SQL是高級(jí)的非過程化編程語言,是溝通數(shù)據(jù)
9、庫服務(wù)器和客戶端的重要工具,允許用戶在高層數(shù)據(jù)結(jié)構(gòu)上工作。它不要求用戶指定對(duì)數(shù)據(jù)的存放方法,也不需要用戶了解具體的數(shù)據(jù)存放方式,所以,具有完全不同底層結(jié)構(gòu)的不同數(shù)據(jù)庫系統(tǒng),可以使用相同的SQL語言作為數(shù)據(jù)輸入與管理的 SQL接口。它以記錄集合作為操作對(duì)象,所有SQL語句接受集合作為輸入,返回集合作為輸出。例如程序中用到的有:INSERT INTO + s + (dianya ,dianliu,zhuangtai,guzhangcs) VALUES (+s1+,+s2+, +s3+ ,+s4+)CREATE TABLE + s + ( id COUNTER(1,1) ,dianya varcha
10、r(50) ,dianliu varchar(50) , zhuangtai varchar(50) ,guzhangcs INTEGER )DROP TABLE + sDELETE FROM users WHERE username =+s1SELECT * FROM users where username=+t_name.getText()+UPDATE users SET password=+s3+ WHERE username =+s25 系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)5.1用戶管理設(shè)計(jì)與實(shí)現(xiàn)用戶管理中最重要的登陸,此時(shí)要核對(duì)用戶名和密碼是否一致。關(guān)鍵代碼如下:conn=DriverManage
11、r.getConnection(url,);stmt=conn.createStatement();rs=stmt.executeQuery(SELECT * FROM users where username=+t_name.getText()+);while(rs.next()sname=rs.getString(1);spass=rs.getString(2);if(t_name.getText().equals(sname)&t_pass.getText().equals(spass)l_error.setText(登陸成功);t_name.setText();t_pass.setTe
12、xt();myframe =new MyFrame();this.dispose();break;else l_error.setText(用戶名或密碼錯(cuò)誤);until+;5.2設(shè)備管理設(shè)計(jì)與實(shí)現(xiàn)設(shè)備管理模塊中添加設(shè)備實(shí)際上是在數(shù)據(jù)庫中新建一個(gè)表,刪除設(shè)備實(shí)質(zhì)上是刪除一個(gè)表。添加設(shè)備關(guān)鍵代碼如下:conn=DriverManager.getConnection(url,);stmt=conn.createStatement();rs=stmt.executeQuery(SELECT * FROM shebeilist where shebeiname=+t_name.getText()+);
13、if(rs.next()a1.setText(設(shè)備已經(jīng)存在,添加失?。?;elseString temp=INSERT INTO shebeilist (shebeiname) VALUES ( + s1 + );stmt.executeUpdate(temp);String temp1=CREATE TABLE + s + ( id COUNTER(1,1) ,dianya varchar(50) ,dianliu varchar(50) , zhuangtai varchar(50) ,guzhangcs INTEGER );stmt.execute(temp1);a1.setText(設(shè)
14、備添加成功!);rs.close();stmt.close();conn.close();5.3數(shù)據(jù)管理設(shè)計(jì)與實(shí)現(xiàn)此模塊是對(duì)數(shù)據(jù)庫中某個(gè)設(shè)備的某一條數(shù)據(jù)進(jìn)行操作,添加、刪除或查詢,其中查詢功能關(guān)鍵代碼如下:conn=DriverManager.getConnection(url,);stmt=conn.createStatement();if (s1.equals(ID)rs=stmt.executeQuery(SELECT * FROM + s + WHERE id LIKE +t_guanjian.getText().trim()+);else if (s1.equals(電壓)rs=st
15、mt.executeQuery(SELECT * FROM + s + WHERE dianya LIKE +t_guanjian.getText().trim()+);else if (s1.equals(狀態(tài))rs=stmt.executeQuery(SELECT * FROM + s + WHERE zhuangtai LIKE +t_guanjian.getText().trim()+);else if (s1.equals(故障次數(shù))rs=stmt.executeQuery(SELECT * FROM + s + WHERE guzhangcs LIKE +t_guanjian.ge
16、tText().trim()+);else if (s1.equals(電流)rs=stmt.executeQuery(SELECT * FROM + s + WHERE dianliu LIKE +t_guanjian.getText().trim()+);6 項(xiàng)目測試本系統(tǒng)在運(yùn)行調(diào)試的過程中遇到很多錯(cuò)誤并進(jìn)行了大量的調(diào)試和改正。1. 連接數(shù)據(jù)庫出錯(cuò),程序中定義了String url=jdbc:odbc:Driver=MicroSoft Access Driver (*.mdb);DBQ=shebei.mdb;而我的數(shù)據(jù)庫access使用的是2007版本的,access后綴為accdb,后綴
17、改為mdb后數(shù)據(jù)庫連接正常。2. 使用組件JPasswordField的方法getPassword用于比較識(shí)別用戶密碼是否正確是出錯(cuò),原因是該方法返回值為cha,與數(shù)據(jù)庫中密碼數(shù)據(jù)類型(String)不匹配,比較不出來,把JPasswordField換為TextField使用方法getText后問題解決。3. 點(diǎn)擊菜單后對(duì)話框不顯示,加入語句setVisible(true)之后問題解決。4. 程序中sql語句中表名為變量,語句CREATE TABLE s ( id COUNTER(1,1) ,dianya varchar(50) ,dianliu varchar(50) , zhuangtai
18、 varchar(50) ,guzhangcs INTEGER )有錯(cuò),改為CREATE TABLE + s + ( id COUNTER(1,1) ,dianya varchar(50) ,dianliu varchar(50),zhuangtai varchar(50) ,guzhangcs INTEGER )后問題解決,因?yàn)閟ql語句事實(shí)上為一個(gè)字符串,變量不能寫到引號(hào)里,應(yīng)用加號(hào)拼接。5. 程序中sql語句中數(shù)據(jù)類型不匹配,如SELECT * FROM + s + where id=+ t_id.getText(),id數(shù)據(jù)類型為數(shù)字,而t_id.getText()為字符串,改為SELECT * FROM + s + where id=+I
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 勞務(wù)合同兼職合同范本
- 分包制作安裝合同范本
- 借款車位轉(zhuǎn)讓合同范本
- 代理房屋合同范本
- 2024年玉環(huán)市委辦公室選聘考試真題
- 2024年舟山市定海區(qū)人民檢察院招聘用工人員筆試真題
- 關(guān)于電纜合同范本
- 2024年玉林市第十一中學(xué)招聘高中體育頂崗教師筆試真題
- 個(gè)人經(jīng)營服務(wù)合同范本
- 借款房屋轉(zhuǎn)讓合同范本
- 腫瘤中醫(yī)中藥治療護(hù)理
- 大學(xué)生就業(yè)指導(dǎo)教學(xué)-大學(xué)生就業(yè)形勢與政策
- 安檢服務(wù)課件教學(xué)課件
- 隧道危險(xiǎn)源清單
- 綠色產(chǎn)品評(píng)價(jià) 水泥 編制說明
- 建設(shè)工程施工現(xiàn)場臨時(shí)用電安全管理培訓(xùn)課程考核試卷
- 解剖臺(tái)項(xiàng)目運(yùn)營指導(dǎo)方案
- 全國職業(yè)院校技能大賽賽項(xiàng)規(guī)程(高職)大數(shù)據(jù)技術(shù)與應(yīng)用
- 法律意見書(適用于股權(quán)投資)
- 車路協(xié)同路側(cè)設(shè)備通信終端(RSU)測試技術(shù)要求(征求意見稿)
- 新蘇教版五年級(jí)科學(xué)上冊活動(dòng)手冊答案
評(píng)論
0/150
提交評(píng)論