《信息系統(tǒng)開發(fā)》課程設(shè)計
《《信息系統(tǒng)開發(fā)》課程設(shè)計》由會員分享,可在線閱讀,更多相關(guān)《《信息系統(tǒng)開發(fā)》課程設(shè)計(42頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、. 計算機科學(xué)系課程設(shè)計報告 《黔南民族師范學(xué)院圖書館管理系統(tǒng)》 課題組成員 姓名 學(xué)號 崔建虎 1108045102 馮靈兵 1108045138 課程名稱: 信息系統(tǒng)開發(fā) 指導(dǎo)教師: 郭勇 班 級: B11計信班 專 業(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 進度計劃 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è)計 3.1 技術(shù)方案介紹 3.1.1 開發(fā)技術(shù)平臺及要求(技術(shù)特點、實際運行客戶端及服務(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è)計(畫出重要的業(yè)務(wù)流程圖,至少一個) 3.4 功能設(shè)計(按子系統(tǒng)或模塊劃分的功能圖表) 3.5 數(shù)據(jù)庫設(shè)計(應(yīng)有相應(yīng)的設(shè)計表結(jié)構(gòu)與關(guān)系圖表) 3.6 安全設(shè)計(針對系統(tǒng)安全性方面的措施及技術(shù)) 3.7 代碼設(shè)計(系統(tǒng)中主要的對象代碼規(guī)范) 3.8 I/O設(shè)計(特殊的I/O設(shè)計說明) 3.8.1 輸入設(shè)計:輸入校驗說明、特殊的輸入手段與方法說明 3.8.2 輸出設(shè)計:輸出方式、格式、報表及圖表說明 3.9 界面設(shè)計(總體要求與特色) 3.10 特殊
4、模塊設(shè)計(如果有,比如一些公共類的設(shè)計說明) 4 系統(tǒng)實現(xiàn) 分小標(biāo)題羅列出主要模塊功能界面及關(guān)鍵源程序、原型截圖 5 系統(tǒng)測試(包括測試環(huán)境、測試用例、測試結(jié)果) 5.1 單元測試(對個別特殊功能進行的測試) 5.2 集成測試(含分離客戶端與服務(wù)器機器的應(yīng)用環(huán)境模擬測試) 5.3 并發(fā)測試(客戶/服務(wù)器模式的需進行) 5.4 平臺測試(實際應(yīng)用中的不同版本操作系統(tǒng)與瀏覽器兼容性測試) 6 系統(tǒng)評價 6.1 總體評價 6.2 存在的問題 7 總結(jié) 7.1 收獲 7.2 改進的方法或思路 ―――――――――――――――――――――――――――――————————— 《
5、黔南民族師范學(xué)院圖書館管理系統(tǒng)》設(shè)計報告 1概述 1.1課題背景(課題背景及現(xiàn)行系統(tǒng)存在的問題) 圖書館管理系統(tǒng)的主要工作是對圖書館的借書、還書和更新圖書以信息化的方式進行管理,最大限度的減少各個環(huán)節(jié)中可能出現(xiàn)的錯誤,有效減少因漏記、錯記導(dǎo)致的信息錯誤,降低人員的工作量,及時掌握圖書信息,提高對圖書管理的靈活性,使圖書館能夠合理控制借書,新書入庫的每個關(guān)鍵步驟,提高圖書館的管理運行。 1.2目的與意義 提高工作效率,降低圖書管理員的工作量。使圖書管理員實時掌握圖書的去向,圖書館圖書保有量。 1.3課題目標(biāo) 盡可能的開發(fā)出一個圖書管理系統(tǒng),對圖書館的圖書進行實時
6、去向確定,圖書剩余量確定。 系統(tǒng)要求如下: (1) 界面設(shè)計美觀大方,操作方便、快捷、靈活。 (2) 實現(xiàn)強大的借閱、庫存管理,包括圖書信息、入庫時間,借閱次數(shù),本次借閱人。 (3) 能夠在不同的操作系統(tǒng)下運行,不局限于特定的平臺。 (4) 提供數(shù)據(jù)庫備份和恢復(fù)功能。 提供技術(shù)支持的聯(lián)系方式,可以使用郵件進行溝通,或者直接聯(lián)系到技術(shù)網(wǎng)站。 1.4可行性分析 黔南民族師范學(xué)院圖書館是一個中型的綜合性圖書館,為了更好的管理圖書借閱,使圖書能為更多的人所使用,特此開發(fā)一圖書管理系統(tǒng)。 可行性研究的前提: 附加引進新書、圖書受損等功能以增加管理的靈活性。 系統(tǒng)的功能要符合本圖
7、書館的實際情況。 管理內(nèi)容比較多,涉及窗口容易混亂,應(yīng)提供窗口集合操作和菜單管理。 支持?jǐn)?shù)據(jù)庫備份和恢復(fù)功能,提高系統(tǒng)安全性。 總結(jié): 如若交給軟件公司進行開發(fā),則屬于一個小的系統(tǒng),很容易完成。但成本相對有點高。 1.5進度計劃 支出: 根據(jù)預(yù)算,此系統(tǒng)大概需要6個人,為此需要支付9萬元的工資及各種福利待遇,項目的安裝、調(diào)試以及用戶培訓(xùn)、員工出差費用支出需要2.5萬元;在項目后期維護階段預(yù)計需要投入2萬元的資金,累計項目投入需要13.5萬元。 需要3個月才能開發(fā)使用,除去系統(tǒng)分析,測試,確認等,程序開發(fā)需要80天的時間進行系統(tǒng)設(shè)計、程序編碼、系統(tǒng)測試、程序調(diào)試和系統(tǒng)打包部署
8、工作。 1.6分工介紹(2人以上課題) 崔建虎進行系統(tǒng)的分析、系統(tǒng)設(shè)計、界面的分析部署等。馮靈兵進行程序編碼、系統(tǒng)測試調(diào)試等。 2系統(tǒng)分析 2.1系統(tǒng)調(diào)查(調(diào)查途徑、方法、手段) 直接參加圖書館管理業(yè)務(wù)的實踐,閱讀和分析現(xiàn)有系統(tǒng)的資料,發(fā)現(xiàn)現(xiàn)存系統(tǒng)存在的不足。 2.2組織結(jié)構(gòu)與職責(zé)(大系統(tǒng)) 由于《圖書館管理系統(tǒng)》規(guī)模比較小,專業(yè)性較強,偏向于技術(shù)性,而且小組成員不多,所以最終選擇職能型組織結(jié)構(gòu)。 2.3專業(yè)術(shù)語(行業(yè)專業(yè)術(shù)語) OAs:辦公自動化系統(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ù)流程圖的細化,可得到系統(tǒng)的分層數(shù)據(jù)流圖。 系統(tǒng)U/C矩陣分析 過程/數(shù)據(jù)矩陣(U/C矩陣) U/C矩陣是用來表達過程與數(shù)據(jù)兩者之間的關(guān)系。矩陣中的行表示數(shù)據(jù)類,列表示過程,并以字母U(Use)和C(Create)來表示過程對數(shù)據(jù)類的使用和產(chǎn)生。 U/C矩陣是MIS開發(fā)中用于系統(tǒng)分析階段的一個重要工具。提出了一種用關(guān)系數(shù)據(jù)庫實現(xiàn)U/C矩陣的方法,并對其存儲、正確性檢驗、表上作業(yè)等做了分析。 2.5系統(tǒng)總體結(jié)構(gòu)(畫出系統(tǒng)總體結(jié)構(gòu)圖) 3系統(tǒng)設(shè)
10、計 3.1技術(shù)方案介紹 3.1.1開發(fā)技術(shù)平臺及要求(技術(shù)特點、實際運行客戶端及服務(wù)器端軟硬件及網(wǎng)絡(luò)要求等) 利用Java技術(shù)進行開發(fā),能夠在Windows系統(tǒng)運行就行。 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 是一個全面的數(shù)據(jù)庫平臺,使用集成的商業(yè)智能 (BI) 工具提供了企業(yè)級的數(shù)據(jù)管理。SQL Server 2005 數(shù)據(jù)庫引擎為關(guān)系型數(shù)據(jù)和結(jié)構(gòu)化數(shù)據(jù)提供了更安全可靠的存儲功能,使您可以構(gòu)建和管理用于業(yè)務(wù)的高可用和高性能的數(shù)據(jù)應(yīng)用程序。 SQL Server 2005 數(shù)據(jù)引擎是本企業(yè)數(shù)據(jù)管理解決方案的核心。此外 SQL Server 2005 結(jié)合了分析、報表、集成和通知功能。這使您的企業(yè)可以構(gòu)建和部署經(jīng)濟有效的 BI 解決方案,幫助您的團隊通過記分卡、Dashboard、Web services 和移動設(shè)備將數(shù)據(jù)應(yīng)用推向業(yè)務(wù)的各個領(lǐng)
12、域。 3.3業(yè)務(wù)流程設(shè)計(畫出重要的業(yè)務(wù)流程圖,至少一個) 3.4功能設(shè)計(按子系統(tǒng)或模塊劃分的功能圖表) 用例分析圖 3.5數(shù)據(jù)庫設(shè)計(應(yīng)有相應(yīng)的設(shè)計表結(jié)構(gòu)與關(guān)系圖表) 依據(jù)數(shù)據(jù)庫的原理,并結(jié)合以上E-R圖,經(jīng)過轉(zhuǎn)化,即可進行數(shù)據(jù)庫的物理設(shè)計?;谝陨蠑?shù)據(jù)庫的邏輯設(shè)計,考慮程序設(shè)計的簡易性,本系統(tǒng)決定采用一個數(shù)據(jù)庫,在其下創(chuàng)建7個數(shù)據(jù)表,其結(jié)構(gòu)分別如下: 1.圖書信息表 2.圖書丟失登記表,其字段列表如表所示。 3. 圖書歸還登記表,其字段列表如表所示 4.學(xué)生信息表(tVip),其字段列表如表所示 5.管理員信息表 6.
13、 圖書超期時間登記表 7.圖書預(yù)約表 3.6安全設(shè)計(針對系統(tǒng)安全性方面的措施) 校園圖書管理系統(tǒng)本身沒有什么重要信息,存在安全風(fēng)險較小。這時候我們只需裝個安全軟件,定期進行安全掃描即可。圖書管理系統(tǒng)的主機應(yīng)不進行互聯(lián)網(wǎng)聯(lián)網(wǎng)。 3.7代碼設(shè)計(系統(tǒng)中主要的對象代碼規(guī)范) 主要有六個類:登錄類,圖書信息表類,學(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("端口號
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)簽和按鈕添加進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);//將密碼框添加進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)簽添加進JPanel容器 this.add(jp); Image image=new ImageIcon("ico.gif").getImage();//對logo圖
20、片進行初始化 this.setIconImage(image); //設(shè)置窗體的大小位置及可見性 this.setTitle("登錄"); this.setResizable(false); this.setBounds(100,100,400,350); this.setVisible(true); } //實現(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();//切換輸入焦點到下一個框
22、 } if(e.getSource()==jtxtArray[1]){ jtxtArray[2].requestFocus();//切換輸入焦點到下一個框 } if(e.getSource()==jtxtArray[2]) { jpassword.requestFocus();//切換輸入焦點到密碼框 } else if(e.getSource()==jbArray[1]){//事件源為清空按鈕 //清空所有
23、信息 jlArray[4].setText(""); jtxtArray[2].setText(""); jpassword.setText(""); //將輸入焦點設(shè)置到文本框 jtxtArray[2].requestFocus(); } else if(e.getSource()==jbArray[2]){//事件源為管理員登錄按鈕 //判斷用戶名和密碼是否匹配 if(!mgno.mat
24、ches("\\d+")) {//如果用戶名格式輸入有誤 JOptionPane.showMessageDialog(this,"用戶名格式錯誤!!!","信息", JOptionPane.INFORMATION_MESSAGE); return; } if(jtxtArray[0].getText().trim().equals("")) {//如果"用戶IP"文本框為空,提示 JOptionP
25、ane.showMessageDialog(this,"用戶IP不能為空!??!","信息", JOptionPane.INFORMATION_MESSAGE); return; } if(jtxtArray[1].getText().trim().equals("")) {//如果"端口號"文本框為空,提示 JOptionPane.showMessageDialog(this,"用戶端
26、口號不能為空?。?!","信息", 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é)號格式錯誤,輸出提示對話框 JOptionPane.showMessageDialog(this,"輸入有誤,學(xué)號只能為數(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("")){//若"端口號"文本框輸入為空,提示 JOptionPane.showMessageDialog(this,"用戶端口號不能為空?。?!", "信息",JOptionPane.INFORMATION_MESSAGE); return;
30、 } //查詢學(xué)號文本中所輸學(xué)號是否存在于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(" 書 號"), 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
36、否預(yù)約");
}
//在下部子窗口中設(shè)置表格
Vector
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添加進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)焦點 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]){//將書號為書號框的書從書庫刪除 this.deleteBook(); } if(e.getSource()==jbArray[2]){//將書號為書號框的書信息進行修改 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)輸入為空進行提示 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
51、d deleteBook(){ String bookno = jtxtArray[0].getText().trim(); if(bookno.equals("")){//當(dāng)書號輸入為空,提示 JOptionPane.showMessageDialog(this, "書號不能為空?。?!", "消息",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)書號輸入為空時,進行提示 JOptionPane.showMessageDialog(this, "請輸入需要更改信息圖書的書號!", "消息",JO
53、ptionPane.INFORMATION_MESSAGE); return; } else{//當(dāng)輸入書號后的情況 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){//請詳細解讀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)容里面會有圖紙預(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)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 川渝旅游日記成都重慶城市介紹推薦景點美食推薦
- XX國有企業(yè)黨委書記個人述責(zé)述廉報告及2025年重點工作計劃
- 世界濕地日濕地的含義及價值
- 20XX年春節(jié)節(jié)后復(fù)工安全生產(chǎn)培訓(xùn)人到場心到崗
- 大唐女子圖鑒唐朝服飾之美器物之美繪畫之美生活之美
- 節(jié)后開工第一課輕松掌握各要點節(jié)后常見的八大危險
- 廈門城市旅游介紹廈門景點介紹廈門美食展示
- 節(jié)后開工第一課復(fù)工復(fù)產(chǎn)十注意節(jié)后復(fù)工十檢查
- 傳統(tǒng)文化百善孝為先孝道培訓(xùn)
- 深圳城市旅游介紹景點推薦美食探索
- 節(jié)后復(fù)工安全生產(chǎn)培訓(xùn)勿忘安全本心人人講安全個個會應(yīng)急
- 預(yù)防性維修管理
- 常見閥門類型及特點
- 設(shè)備預(yù)防性維修
- 2.乳化液泵工理論考試試題含答案