《信息系統(tǒng)開發(fā)》課程設(shè)計(jì)

上傳人:仙*** 文檔編號(hào):28117375 上傳時(shí)間:2021-08-23 格式:DOC 頁數(shù):42 大?。?97KB
收藏 版權(quán)申訴 舉報(bào) 下載
《信息系統(tǒng)開發(fā)》課程設(shè)計(jì)_第1頁
第1頁 / 共42頁
《信息系統(tǒng)開發(fā)》課程設(shè)計(jì)_第2頁
第2頁 / 共42頁
《信息系統(tǒng)開發(fā)》課程設(shè)計(jì)_第3頁
第3頁 / 共42頁

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《《信息系統(tǒng)開發(fā)》課程設(shè)計(jì)》由會(huì)員分享,可在線閱讀,更多相關(guān)《《信息系統(tǒng)開發(fā)》課程設(shè)計(jì)(42頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。

1、. 計(jì)算機(jī)科學(xué)系課程設(shè)計(jì)報(bào)告 《黔南民族師范學(xué)院圖書館管理系統(tǒng)》 課題組成員 姓名 學(xué)號(hào) 崔建虎 1108045102 馮靈兵 1108045138 課程名稱: 信息系統(tǒng)開發(fā) 指導(dǎo)教師: 郭勇 班 級: B11計(jì)信班 專 業(yè): 信息管理與信息系統(tǒng) 學(xué) 期: 2013-2014 二 O一 四 年 六 月 九 日 1概述 1.1 課題背景(課題背景及現(xiàn)行

2、系統(tǒng)存在的問題) 1.2 目的與意義 1.3 課題目標(biāo) 1.4 可行性分析 1.5 進(jìn)度計(jì)劃 1.6 分工介紹(2人以上課題) 2 系統(tǒng)分析 2.1 系統(tǒng)調(diào)查(調(diào)查途徑、方法、手段) 2.2 組織結(jié)構(gòu)與職責(zé)(大系統(tǒng)) 2.3 專業(yè)術(shù)語(行業(yè)專業(yè)術(shù)語) 2.4 業(yè)務(wù)與數(shù)據(jù)類分析(列舉出業(yè)務(wù)與數(shù)據(jù)類,主要對象的E-R圖,大課題需有U-C矩陣圖) 2.5 系統(tǒng)總體結(jié)構(gòu)(畫出系統(tǒng)總體結(jié)構(gòu)圖) 3 系統(tǒng)設(shè)計(jì) 3.1 技術(shù)方案介紹 3.1.1 開發(fā)技術(shù)平臺(tái)及要求(技術(shù)特點(diǎn)、實(shí)際運(yùn)行客戶端及服務(wù)器端軟硬件及網(wǎng)絡(luò)要求等) 3.1.2 開發(fā)軟件(主要與輔助軟件、第三方組件、插件、控

3、件等) 3.1.3 數(shù)據(jù)庫系統(tǒng)簡介 3.2 系統(tǒng)開發(fā)規(guī)范(系統(tǒng)文件目錄結(jié)構(gòu)、源程序、數(shù)據(jù)庫的命名統(tǒng)一規(guī)范) 3.3 業(yè)務(wù)流程設(shè)計(jì)(畫出重要的業(yè)務(wù)流程圖,至少一個(gè)) 3.4 功能設(shè)計(jì)(按子系統(tǒng)或模塊劃分的功能圖表) 3.5 數(shù)據(jù)庫設(shè)計(jì)(應(yīng)有相應(yīng)的設(shè)計(jì)表結(jié)構(gòu)與關(guān)系圖表) 3.6 安全設(shè)計(jì)(針對系統(tǒng)安全性方面的措施及技術(shù)) 3.7 代碼設(shè)計(jì)(系統(tǒng)中主要的對象代碼規(guī)范) 3.8 I/O設(shè)計(jì)(特殊的I/O設(shè)計(jì)說明) 3.8.1 輸入設(shè)計(jì):輸入校驗(yàn)說明、特殊的輸入手段與方法說明 3.8.2 輸出設(shè)計(jì):輸出方式、格式、報(bào)表及圖表說明 3.9 界面設(shè)計(jì)(總體要求與特色) 3.10 特殊

4、模塊設(shè)計(jì)(如果有,比如一些公共類的設(shè)計(jì)說明) 4 系統(tǒng)實(shí)現(xiàn) 分小標(biāo)題羅列出主要模塊功能界面及關(guān)鍵源程序、原型截圖 5 系統(tǒng)測試(包括測試環(huán)境、測試用例、測試結(jié)果) 5.1 單元測試(對個(gè)別特殊功能進(jìn)行的測試) 5.2 集成測試(含分離客戶端與服務(wù)器機(jī)器的應(yīng)用環(huán)境模擬測試) 5.3 并發(fā)測試(客戶/服務(wù)器模式的需進(jìn)行) 5.4 平臺(tái)測試(實(shí)際應(yīng)用中的不同版本操作系統(tǒng)與瀏覽器兼容性測試) 6 系統(tǒng)評價(jià) 6.1 總體評價(jià) 6.2 存在的問題 7 總結(jié) 7.1 收獲 7.2 改進(jìn)的方法或思路 ―――――――――――――――――――――――――――――————————— 《

5、黔南民族師范學(xué)院圖書館管理系統(tǒng)》設(shè)計(jì)報(bào)告 1概述 1.1課題背景(課題背景及現(xiàn)行系統(tǒng)存在的問題) 圖書館管理系統(tǒng)的主要工作是對圖書館的借書、還書和更新圖書以信息化的方式進(jìn)行管理,最大限度的減少各個(gè)環(huán)節(jié)中可能出現(xiàn)的錯(cuò)誤,有效減少因漏記、錯(cuò)記導(dǎo)致的信息錯(cuò)誤,降低人員的工作量,及時(shí)掌握圖書信息,提高對圖書管理的靈活性,使圖書館能夠合理控制借書,新書入庫的每個(gè)關(guān)鍵步驟,提高圖書館的管理運(yùn)行。 1.2目的與意義 提高工作效率,降低圖書管理員的工作量。使圖書管理員實(shí)時(shí)掌握圖書的去向,圖書館圖書保有量。 1.3課題目標(biāo) 盡可能的開發(fā)出一個(gè)圖書管理系統(tǒng),對圖書館的圖書進(jìn)行實(shí)時(shí)

6、去向確定,圖書剩余量確定。 系統(tǒng)要求如下: (1) 界面設(shè)計(jì)美觀大方,操作方便、快捷、靈活。 (2) 實(shí)現(xiàn)強(qiáng)大的借閱、庫存管理,包括圖書信息、入庫時(shí)間,借閱次數(shù),本次借閱人。 (3) 能夠在不同的操作系統(tǒng)下運(yùn)行,不局限于特定的平臺(tái)。 (4) 提供數(shù)據(jù)庫備份和恢復(fù)功能。 提供技術(shù)支持的聯(lián)系方式,可以使用郵件進(jìn)行溝通,或者直接聯(lián)系到技術(shù)網(wǎng)站。 1.4可行性分析 黔南民族師范學(xué)院圖書館是一個(gè)中型的綜合性圖書館,為了更好的管理圖書借閱,使圖書能為更多的人所使用,特此開發(fā)一圖書管理系統(tǒng)。 可行性研究的前提: 附加引進(jìn)新書、圖書受損等功能以增加管理的靈活性。 系統(tǒng)的功能要符合本圖

7、書館的實(shí)際情況。 管理內(nèi)容比較多,涉及窗口容易混亂,應(yīng)提供窗口集合操作和菜單管理。 支持?jǐn)?shù)據(jù)庫備份和恢復(fù)功能,提高系統(tǒng)安全性。 總結(jié): 如若交給軟件公司進(jìn)行開發(fā),則屬于一個(gè)小的系統(tǒng),很容易完成。但成本相對有點(diǎn)高。 1.5進(jìn)度計(jì)劃 支出: 根據(jù)預(yù)算,此系統(tǒng)大概需要6個(gè)人,為此需要支付9萬元的工資及各種福利待遇,項(xiàng)目的安裝、調(diào)試以及用戶培訓(xùn)、員工出差費(fèi)用支出需要2.5萬元;在項(xiàng)目后期維護(hù)階段預(yù)計(jì)需要投入2萬元的資金,累計(jì)項(xiàng)目投入需要13.5萬元。 需要3個(gè)月才能開發(fā)使用,除去系統(tǒng)分析,測試,確認(rèn)等,程序開發(fā)需要80天的時(shí)間進(jìn)行系統(tǒng)設(shè)計(jì)、程序編碼、系統(tǒng)測試、程序調(diào)試和系統(tǒng)打包部署

8、工作。 1.6分工介紹(2人以上課題) 崔建虎進(jìn)行系統(tǒng)的分析、系統(tǒng)設(shè)計(jì)、界面的分析部署等。馮靈兵進(jìn)行程序編碼、系統(tǒng)測試調(diào)試等。 2系統(tǒng)分析 2.1系統(tǒng)調(diào)查(調(diào)查途徑、方法、手段) 直接參加圖書館管理業(yè)務(wù)的實(shí)踐,閱讀和分析現(xiàn)有系統(tǒng)的資料,發(fā)現(xiàn)現(xiàn)存系統(tǒng)存在的不足。 2.2組織結(jié)構(gòu)與職責(zé)(大系統(tǒng)) 由于《圖書館管理系統(tǒng)》規(guī)模比較小,專業(yè)性較強(qiáng),偏向于技術(shù)性,而且小組成員不多,所以最終選擇職能型組織結(jié)構(gòu)。 2.3專業(yè)術(shù)語(行業(yè)專業(yè)術(shù)語) OAs:辦公自動(dòng)化系統(tǒng) TPS:事物處理系統(tǒng) MIS:管理信息系統(tǒng) 2.4業(yè)務(wù)與數(shù)據(jù)類分析(列舉出業(yè)務(wù)與數(shù)據(jù)類,主要對象的E-R圖

9、,大課題需有U-C矩陣圖) 通過對學(xué)校的圖書館借書、還書的調(diào)查 ,弄清了借書還書的業(yè)務(wù)流程圖,如下圖所示: 通過對業(yè)務(wù)流程圖的細(xì)化,可得到系統(tǒng)的分層數(shù)據(jù)流圖。 系統(tǒng)U/C矩陣分析 過程/數(shù)據(jù)矩陣(U/C矩陣) U/C矩陣是用來表達(dá)過程與數(shù)據(jù)兩者之間的關(guān)系。矩陣中的行表示數(shù)據(jù)類,列表示過程,并以字母U(Use)和C(Create)來表示過程對數(shù)據(jù)類的使用和產(chǎn)生。 U/C矩陣是MIS開發(fā)中用于系統(tǒng)分析階段的一個(gè)重要工具。提出了一種用關(guān)系數(shù)據(jù)庫實(shí)現(xiàn)U/C矩陣的方法,并對其存儲(chǔ)、正確性檢驗(yàn)、表上作業(yè)等做了分析。 2.5系統(tǒng)總體結(jié)構(gòu)(畫出系統(tǒng)總體結(jié)構(gòu)圖) 3系統(tǒng)設(shè)

10、計(jì) 3.1技術(shù)方案介紹 3.1.1開發(fā)技術(shù)平臺(tái)及要求(技術(shù)特點(diǎn)、實(shí)際運(yùn)行客戶端及服務(wù)器端軟硬件及網(wǎng)絡(luò)要求等) 利用Java技術(shù)進(jìn)行開發(fā),能夠在Windows系統(tǒng)運(yùn)行就行。 3.1.2開發(fā)軟件(主要與輔助軟件、第三方組件、插件、控件等) 基礎(chǔ)類的:JDK、JRE 中間件:WEBSPHERE、WEBLOGIC、JBOSS、TOMCAT、RESIN等 開發(fā)工具:ECLIPSE、JBUILDER、NETBEANS、RATIONAL等 此外還有很多其它工具:如IBM WID(SOA開發(fā))、Business Moduler 數(shù)據(jù)庫:SQL server 2005 3.2

11、數(shù)據(jù)庫系統(tǒng)簡介 SQL Server 2005 是一個(gè)全面的數(shù)據(jù)庫平臺(tái),使用集成的商業(yè)智能 (BI) 工具提供了企業(yè)級的數(shù)據(jù)管理。SQL Server 2005 數(shù)據(jù)庫引擎為關(guān)系型數(shù)據(jù)和結(jié)構(gòu)化數(shù)據(jù)提供了更安全可靠的存儲(chǔ)功能,使您可以構(gòu)建和管理用于業(yè)務(wù)的高可用和高性能的數(shù)據(jù)應(yīng)用程序。 SQL Server 2005 數(shù)據(jù)引擎是本企業(yè)數(shù)據(jù)管理解決方案的核心。此外 SQL Server 2005 結(jié)合了分析、報(bào)表、集成和通知功能。這使您的企業(yè)可以構(gòu)建和部署經(jīng)濟(jì)有效的 BI 解決方案,幫助您的團(tuán)隊(duì)通過記分卡、Dashboard、Web services 和移動(dòng)設(shè)備將數(shù)據(jù)應(yīng)用推向業(yè)務(wù)的各個(gè)領(lǐng)

12、域。 3.3業(yè)務(wù)流程設(shè)計(jì)(畫出重要的業(yè)務(wù)流程圖,至少一個(gè)) 3.4功能設(shè)計(jì)(按子系統(tǒng)或模塊劃分的功能圖表) 用例分析圖 3.5數(shù)據(jù)庫設(shè)計(jì)(應(yīng)有相應(yīng)的設(shè)計(jì)表結(jié)構(gòu)與關(guān)系圖表) 依據(jù)數(shù)據(jù)庫的原理,并結(jié)合以上E-R圖,經(jīng)過轉(zhuǎn)化,即可進(jìn)行數(shù)據(jù)庫的物理設(shè)計(jì)。基于以上數(shù)據(jù)庫的邏輯設(shè)計(jì),考慮程序設(shè)計(jì)的簡易性,本系統(tǒng)決定采用一個(gè)數(shù)據(jù)庫,在其下創(chuàng)建7個(gè)數(shù)據(jù)表,其結(jié)構(gòu)分別如下: 1.圖書信息表 2.圖書丟失登記表,其字段列表如表所示。 3. 圖書歸還登記表,其字段列表如表所示 4.學(xué)生信息表(tVip),其字段列表如表所示 5.管理員信息表 6.

13、 圖書超期時(shí)間登記表 7.圖書預(yù)約表 3.6安全設(shè)計(jì)(針對系統(tǒng)安全性方面的措施) 校園圖書管理系統(tǒng)本身沒有什么重要信息,存在安全風(fēng)險(xiǎn)較小。這時(shí)候我們只需裝個(gè)安全軟件,定期進(jìn)行安全掃描即可。圖書管理系統(tǒng)的主機(jī)應(yīng)不進(jìn)行互聯(lián)網(wǎng)聯(lián)網(wǎng)。 3.7代碼設(shè)計(jì)(系統(tǒng)中主要的對象代碼規(guī)范) 主要有六個(gè)類:登錄類,圖書信息表類,學(xué)生信息表類,管理員信息表類,圖書歸還類,圖書借閱類,數(shù)據(jù)庫類。部分代碼分別如下 登錄類: package xuyaodelei; import javax.swing.*;import java.awt.*; import java.awt.event.*

14、;import javax.swing.table.*; import javax.swing.event.*;import java.sql.*; import java.util.*;import java.util.Date; public class Login extends JFrame implements ActionListener{ private JPanel jp=new JPanel();//創(chuàng)建JPanel對象 private JLabel []jlArray={//創(chuàng)建標(biāo)簽組 new JLabel("用戶IP"),new JLabel("端口號(hào)

15、"),new JLabel("用戶名"), new JLabel("密 碼"),new JLabel("") }; private JButton[] jbArray={//創(chuàng)建按鈕數(shù)組 new JButton("學(xué)生登錄"),new JButton("清空"),new JButton("管理員登錄") }; private JTextField[] jtxtArray={ //創(chuàng)建文本框 new JTextField("127.0.0.1"),new JTextField("3306"),new JTe

16、xtField("1001") }; private JPasswordField jpassword=new JPasswordField("number1"); //創(chuàng)建密碼框 String sql; public Login(){ jp.setLayout(null); //設(shè)置JPanel的布局管理器 for(int i=0;i<4;i++){ //對標(biāo)簽與按鈕控件循環(huán)處理 jlArray[i].setBounds(30,20+i*50,80,25);//設(shè)置標(biāo)簽與按鈕的大小和位置

17、 jp.add(jlArray[i]);//將標(biāo)簽和按鈕添加進(jìn)JPanel容器中 } for(int i=0;i<3;i++){//設(shè)置按鈕的大小位置并為其添加事件監(jiān)聽器 jbArray[i].setBounds(10+i*120,230,100,25); jp.add(jbArray[i]); jbArray[i].addActionListener(this); } for(int i=0;i<3

18、;i++){//設(shè)置文本框的大小位置并為其添加事件監(jiān)聽器 jtxtArray[i].setBounds(80,20+50*i,180,25); jp.add(jtxtArray[i]); jtxtArray[i].addActionListener(this); } jpassword.setBounds(80,170,180,25);//設(shè)置密碼框的大小位置 jp.add(jpassword);//將密碼框添加進(jìn)JPanel容器 jp

19、assword.setEchoChar(*);//設(shè)置密碼框的回顯字符 jpassword.addActionListener(this);//為密碼框注冊監(jiān)聽器 jlArray[4].setBounds(10,280,300,25);//設(shè)置用于顯示登錄狀態(tài)的標(biāo)簽的大小位置 jp.add(jlArray[4]); //將標(biāo)簽添加進(jìn)JPanel容器 this.add(jp); Image image=new ImageIcon("ico.gif").getImage();//對logo圖

20、片進(jìn)行初始化 this.setIconImage(image); //設(shè)置窗體的大小位置及可見性 this.setTitle("登錄"); this.setResizable(false); this.setBounds(100,100,400,350); this.setVisible(true); } //實(shí)現(xiàn)ActionListener接口中的方法 public void actionPerformed(ActionEvent

21、e) {//事件源為文本框 String mgno=jtxtArray[2].getText().trim(); String mgIP=jtxtArray[0].getText().trim(); String port=jtxtArray[1].getText().trim(); String message=mgIP+":"+port; if(e.getSource()==jtxtArray[0]){ jtxtArray[1].requestFocus();//切換輸入焦點(diǎn)到下一個(gè)框

22、 } if(e.getSource()==jtxtArray[1]){ jtxtArray[2].requestFocus();//切換輸入焦點(diǎn)到下一個(gè)框 } if(e.getSource()==jtxtArray[2]) { jpassword.requestFocus();//切換輸入焦點(diǎn)到密碼框 } else if(e.getSource()==jbArray[1]){//事件源為清空按鈕 //清空所有

23、信息 jlArray[4].setText(""); jtxtArray[2].setText(""); jpassword.setText(""); //將輸入焦點(diǎn)設(shè)置到文本框 jtxtArray[2].requestFocus(); } else if(e.getSource()==jbArray[2]){//事件源為管理員登錄按鈕 //判斷用戶名和密碼是否匹配 if(!mgno.mat

24、ches("\\d+")) {//如果用戶名格式輸入有誤 JOptionPane.showMessageDialog(this,"用戶名格式錯(cuò)誤?。。?,"信息", JOptionPane.INFORMATION_MESSAGE); return; } if(jtxtArray[0].getText().trim().equals("")) {//如果"用戶IP"文本框?yàn)榭?,提? JOptionP

25、ane.showMessageDialog(this,"用戶IP不能為空?。。?,"信息", JOptionPane.INFORMATION_MESSAGE); return; } if(jtxtArray[1].getText().trim().equals("")) {//如果"端口號(hào)"文本框?yàn)榭?,提? JOptionPane.showMessageDialog(this,"用戶端

26、口號(hào)不能為空!?。?,"信息", JOptionPane.INFORMATION_MESSAGE); return; } sql="select mgNo,password from manager where mgNo="+Integer.parseInt(mgno); try{ String mgNo=""; String password=""; jlArray[4].setText("恭喜您,登錄成功!??!"

27、); new Root(mgNo); this.dispose(); } catch(Exception e1){e1.printStackTrace();} } else if(e.getSource()==jbArray[0]){//事件源為學(xué)生登錄按鈕 if(!jtxtArray[2].getText().trim().matches("\\d+")){ //

28、若學(xué)號(hào)格式錯(cuò)誤,輸出提示對話框 JOptionPane.showMessageDialog(this,"輸入有誤,學(xué)號(hào)只能為數(shù)字!!!", "消息", JOptionPane.INFORMATION_MESSAGE); return; } if(jtxtArray[0].getText().trim().equals("")){//若"用戶IP"文本框輸入為空,提示 JOptionPane.showMessageDialog(this,"用戶IP不能為空!?。?,"信息",

29、 JOptionPane.INFORMATION_MESSAGE); return; } if(jtxtArray[1].getText().trim().equals("")){//若"端口號(hào)"文本框輸入為空,提示 JOptionPane.showMessageDialog(this,"用戶端口號(hào)不能為空!??!", "信息",JOptionPane.INFORMATION_MESSAGE); return;

30、 } //查詢學(xué)號(hào)文本中所輸學(xué)號(hào)是否存在于STUDENT表中 sql="select StuNO,Password from STUDENT where StuNO=" +Integer.parseInt(jtxtArray[2].getText().trim()); try{ String mgNo=""; String password=""; jlArray[4].setText("恭喜您,登錄成功?。?!");

31、 new StudentSystem(); this.dispose(); } catch(Exception e1){e1.printStackTrace();} } } public static void main(String[]args) { new Login(); } } 圖書信息類: package xuyaodelei; import

32、javax.swing.*; import java.awt.*; import java.awt.event.*; import javax.swing.table.*; import java.sql.*; import java.util.*; import java.util.Date; public class BookManage extends JPanel implements ActionListener { private JSplitPane jsp=new JSplitPane(JSplitPane.VERTICAL_SPLIT,true);

33、 private JPanel jpt=new JPanel(); String []str1=new String [7]; String sql; DataBase db; private JLabel[] jlArray=new JLabel[] { new JLabel(" 書 號(hào)"), new JLabel(" 書 名"), new JLabel(" 作 者"), new JLabel(" 出 版 社"), new JLabel("

34、 購買日期"), new JLabel(" 已 預(yù) 約"), new JLabel(" 已 借 閱") }; private JTextField[] jtxtArray=new JTextField[] { new JTextField(), new JTextField(), new JTextField(), new JTextField(), new JTextField() }; //設(shè)置JButton按鈕的文本 private JButton[] jbArray= {

35、new JButton("圖書入庫"), new JButton("刪除圖書"), new JButton("修改圖書記錄"), new JButton("查找圖書") }; //創(chuàng)建標(biāo)題 Vector head = new Vector(); { head.add("書號(hào)"); head.add("書名"); head.add("作者"); head.add("出版社"); head.add("購買日期"); head.add("是否借閱"); head.add("是

36、否預(yù)約"); } //在下部子窗口中設(shè)置表格 Vector data=new Vector(); //創(chuàng)建表格模型 DefaultTableModel dtm=new DefaultTableModel(data,head); //創(chuàng)建Jtable對象 JTable jt=new JTable(dtm); //將JTable封裝到滾動(dòng)窗格 JScrollPane jspn=new JScrollPane(jt); //創(chuàng)建表示下拉列表框數(shù)據(jù)模型的字符串?dāng)?shù)組 private String[] str={

37、"否","是"}; //創(chuàng)建下拉列表框 private JComboBox jcp1=new JComboBox(str); private JComboBox jcp2=new JComboBox(str); public BookManage() { this.setLayout(new GridLayout(1,1)); //設(shè)置面板的上部分為空布局管理器 jpt.setLayout(null); //設(shè)置jspt中分割條的初始位置 jsp.setDividerLocation(140); //設(shè)置分隔條的寬度 jsp.set

38、DividerSize(4); jsp.setTopComponent(jpt); jsp.setBottomComponent(jspn); for(int i=0;i<5;i++) { jpt.add(jtxtArray[i]); } for(int i=0;i<7;i++) { jpt.add(jlArray[i]); if(i<3) { jlArray[i].setBounds(15,10+30*i,100,20); jtxtArray[i].setBounds(115,10+30

39、*i,150,20); } else if(i>2&&i<5) { jlArray[i].setBounds(265,10+30*(i-3),100,20); jtxtArray[i].setBounds(375,10+30*(i-3),120,20); } else { jlArray[i].setBounds(495,10+30*(i-5),100,20); } } for(int i=0;i<5;i++) { jtxtArray[i].addActionListene

40、r(this); } this.add(jsp); jpt.add(jcp1); jpt.add(jcp2); //設(shè)置下部子窗格 jsp.setBottomComponent(jspn); jcp1.setBounds(595,10,100,20); jcp2.setBounds(595,40,100,20); //將JButton添加進(jìn)jpt for(int i=0;i<4;i++) { jpt.add(jbArray[i]); jbArray[i].setBounds(150+112*i,100,11

41、2,25); } //設(shè)置監(jiān)聽器 for(int i=0;i<4;i++) { jbArray[i].addActionListener(this); } //設(shè)置窗體的大小位置及可見性 this.setBounds(5,5,600,500); this.setVisible(true); } public void actionPerformed(ActionEvent e){ //設(shè)置鼠標(biāo)焦點(diǎn) if(e.getSource()==jtxtArray[0]){ jtxtArray[1].req

42、uestFocus(); } if(e.getSource()==jtxtArray[1]){ jtxtArray[2].requestFocus(); } if(e.getSource()==jtxtArray[2]){ jtxtArray[3].requestFocus(); } if(e.getSource()==jtxtArray[3]){ jtxtArray[4].requestFocus(); } if(e.getSource()==jbArray[0]){

43、//添加圖書 this.insertBook(); } if(e.getSource()==jbArray[1]){//將書號(hào)為書號(hào)框的書從書庫刪除 this.deleteBook(); } if(e.getSource()==jbArray[2]){//將書號(hào)為書號(hào)框的書信息進(jìn)行修改 this.updateBook(); } if(e.getSource()==jbArray[3]){//查詢圖書信息 this.searchBook(); } }

44、 public void insertBook(){ for(int i=0;i<5;i++){//聲明輸入變量 str1[i]=jtxtArray[i].getText().trim(); } if(str1[0].equals("")&&str1[1].equals("")&&str1[2].equals("") &&str1[3].equals("")&&str1[4].equals("")){//當(dāng)輸入為空進(jìn)行提示 JOptionPane.showMessageDialog(this, "圖書信息不能為空!?。?,

45、 "消息",JOptionPane.INFORMATION_MESSAGE); return; } if(!str1[0].equals("")&&!str1[1].equals("")&&!str1[2].equals("") &&!str1[3].equals("")&&!str1[4].equals("")){//將圖書信息插入Book表 str1[5]=jcp1.getSelectedItem().toString(); str1[6]=jcp2.getSelectedItem()

46、.toString(); sql="insert into BOOK values("+str1[0]+","+str1[1]+"," + str1[2] + ", "+str1[3]+","+ str1[4]+","+str1[5]+","+str1[6]+")"; PreparedStatement ps=null; Connection ct=null; ResultSet rs=null; try { Class.for

47、Name("sun.jdbc.odbc.JdbcOdbcDriver"); ct=DriverManager.getConnection("jdbc:odbc:tushu","sa","700700"); ps=ct.prepareStatement("insert into book values("+str1[0]+","+str1[1]+"," + str1[2] + ", "+str1[3]+","+ str1[4]+","+str1[5]+","+str1[6]+")"); ps.set

48、String(1,str1[0]); ps.setString(2,str1[1]); ps.setString(3,str1[2]); ps.setString(4,str1[3]); ps.setString(5,str1[4]); ps.setString(6,str1[5]); ps.setString(6,str1[6]); ps.execu

49、teUpdate(); } catch (Exception e){} finally { try { if(rs!=null) { rs.close(); } if(ps!=null) { ps.close(); } if(ct!=null) { ct.close(); }

50、 } catch (Exception e){} } Vector v = new Vector(); for(int i=1;i<=7;i++){//將每列添加到臨時(shí)數(shù)組v v.add(str1[i-1]); } data.add(v); dtm.setDataVector(data,head);//更新table jt.updateUI(); jt.repaint(); return; } } public voi

51、d deleteBook(){ String bookno = jtxtArray[0].getText().trim(); if(bookno.equals("")){//當(dāng)書號(hào)輸入為空,提示 JOptionPane.showMessageDialog(this, "書號(hào)不能為空?。。?, "消息",JOptionPane.INFORMATION_MESSAGE); return; } sql="select * from RECORD where BookNO="+Integer.parseInt(bookno);

52、 db=new DataBase(); sql="delete from book where BookNO="+Integer.parseInt(bookno); } public void updateBook(){ String bookno = jtxtArray[0].getText().trim(); if(bookno.equals("")){//當(dāng)書號(hào)輸入為空時(shí),進(jìn)行提示 JOptionPane.showMessageDialog(this, "請輸入需要更改信息圖書的書號(hào)!", "消息",JO

53、ptionPane.INFORMATION_MESSAGE); return; } else{//當(dāng)輸入書號(hào)后的情況 for(int i=0;i<5;i++){//聲明文本框輸入的變量 str1[i]=jtxtArray[i].getText().trim(); } db=new DataBase(); int i=0; int flag=0; int b=Integer.parseInt(bookno); if(!str1[1].equals("")){i=i+

54、1;} if(!str1[2].equals("")){i=i+2;} if(!str1[3].equals("")){i=i+4;} if(!str1[4].equals("")){i=i+8;} switch(i){//請?jiān)敿?xì)解讀switch語句 case 0: JOptionPane.showMessageDialog(this,"信息不能為空?。?!", "消息",JOptionPane.INFORMATION_MESSAGE); break; case 1:

55、 sql="update BOOK set BookName="+str1[1]+" where BookNO="+b; db=new DataBase(); if(flag>0){ JOptionPane.showMessageDialog(this,"恭喜你,修改成功!!!", "消息",JOptionPane.INFORMATION_MESSAGE); }break; case 2: sql=

56、"update BOOK set Author="+str1[2]+" where BookNO="+b; if(flag>0){ JOptionPane.showMessageDialog(this,"恭喜你,修改成功!!!", "消息",JOptionPane.INFORMATION_MESSAGE); }break; case 3: sql="update BOOK set BookName="+str1[1]+"

57、,"+"Author=" +str1[2]+" where BookNO="+b; if(flag>0){ JOptionPane.showMessageDialog(this,"恭喜你,修改成功!!!", "消息",JOptionPane.INFORMATION_MESSAGE); }break; case 4: sql="update BOOK set Publ

58、ishment="+str1[3]+" where BookNO="+b; if(flag>0){ JOptionPane.showMessageDialog(this,"恭喜你,修改成功!!!", "消息",JOptionPane.INFORMATION_MESSAGE); }break; case 5: sql="update BOOK set BookName="+str1[1]+","+"Publishment

59、=" +str1[3]+" where BookNO="+b; if(flag>0){ JOptionPane.showMessageDialog(this,"恭喜你,修改成功!!!", "消息",JOptionPane.INFORMATION_MESSAGE); }break; case 6: sql="update BOOK set Author="+str1[2

60、]+","+"Publishment=" +str1[3]+" where BookNO="+b; if(flag>0){ JOptionPane.showMessageDialog(this,"恭喜你,修改成功!!!", "消息",JOptionPane.INFORMATION_MESSAGE); }break; case 7: sql="update BOOK s

61、et BookName="+str1[1]+","+"Author="+str1[2] +","+"Publishment="+str1[3]+" where BookNO="+b; if(flag>0){ JOptionPane.showMessageDialog(this,"恭喜你,修改成功!!!", "消息",JOptionPane.INFORMATION_MESSAGE); }break;

62、 case 8: sql="update BOOK set BuyTime="+str1[4]+" where BookNO="+b; if(flag>0){ JOptionPane.showMessageDialog(this,"恭喜你,修改成功!!!", "消息",JOptionPane.INFORMATION_MESSAGE); }break; case 9: sql="upda

63、te BOOK set BookName="+str1[1]+","+"BuyTime=" +str1[4]+" where BookNO="+b; if(flag>0){ JOptionPane.showMessageDialog(this,"恭喜你,修改成功!!!", "消息",JOptionPane.INFORMATION_MESSAGE); }break; case 10:

64、sql="update BOOK set Author="+str1[2]+","+"BuyTime=" +str1[4]+" where BookNO="+b; if(flag>0){ JOptionPane.showMessageDialog(this,"恭喜你,修改成功!!!", "消息",JOptionPane.INFORMATION_MESSAGE); }break; case 11:

65、 sql="update BOOK set BookName="+str1[1]+","+"Author="+str1[2] +","+"BuyTime="+str1[4]+" where BookNO="+b; if(flag>0){ JOptionPane.showMessageDialog(this,"恭喜你,修改成功!!!", "消息",JOptionPane.INFORMATION_MESSAGE);

66、 }break; case 12: sql="update BOOK set Publishment="+str1[3]+","+"BuyTime=" +str1[4]+" where BookNO="+b; if(flag>0){ JOptionPane.showMessageDialog(this,"恭喜你,修改成功!!!", "消息",JOptionPane.INFORMATION_MESSAGE); }break; case 13: sql="update BOOK set BookName="+str1[1]+","+"Publishment=

展開閱讀全文
溫馨提示:
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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!