圖書管理系統(tǒng)_第1頁
圖書管理系統(tǒng)_第2頁
圖書管理系統(tǒng)_第3頁
圖書管理系統(tǒng)_第4頁
圖書管理系統(tǒng)_第5頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

軟件學(xué)院課程設(shè)計報告書課程名稱面向?qū)ο蟪绦蛟O(shè)計設(shè)計題圖書信息管理設(shè)計題專業(yè)班級學(xué)號姓名指導(dǎo)教師2010年12月目錄設(shè)計時間……………………1設(shè)計目的……………………1設(shè)計任務(wù)……………………1設(shè)計內(nèi)容……………………1概要設(shè)計………………1體系結(jié)構(gòu)設(shè)計……1數(shù)據(jù)庫設(shè)計2自定義類及接口說明…………………2登錄模塊…………2圖書查詢模塊……………3圖書刪除模塊…………3圖書更改模塊…………3圖書入庫模塊……………4圖書顯示模塊…………4程序源碼及運行與調(diào)試…………………4程序源碼………………4運行界面………………13錯誤調(diào)試………………14總結(jié)與展望……………………16參考文獻(xiàn)…………17設(shè)計時間2010年12月20日—2010年12月31日2設(shè)計目的《面向?qū)ο蟪绦蛟O(shè)計課程設(shè)計》的教學(xué)目的是培養(yǎng)學(xué)生軟件系統(tǒng)開發(fā)方案綜合設(shè)計能力和創(chuàng)新精神。在教師的啟發(fā)和引導(dǎo)下,學(xué)生能自主地進(jìn)行科技文獻(xiàn)檢索,進(jìn)行方案設(shè)計、編寫代碼、調(diào)試程序,對方案進(jìn)行綜合分析與評述等。3設(shè)計任務(wù)(1)使用圖形用戶界面實現(xiàn)。(2)該應(yīng)用程序面向的使用者是圖書管理員。(3)圖書信息包括:書ISBN號、書名、作者、出版時間、出版社,其余可自行豐富。(4)用數(shù)據(jù)庫建立1或2個圖書信息表(不限使用哪種數(shù)據(jù)庫)。(5)能連接數(shù)據(jù)庫并實現(xiàn)對相關(guān)信息的錄入、查詢、修改、刪除等功能,相關(guān)界面要用GUI完成。查詢要求按書號或書名查詢;修改、刪除圖書信息必須輸入書號,然后對書名、作者、出版社等進(jìn)行修改,或?qū)υ摋l記錄進(jìn)行刪除。(6)系統(tǒng)使用的GUI組件不得少于5種,越全面越好,但要合適(和諧界面)。4設(shè)計內(nèi)容概要設(shè)計體系結(jié)構(gòu)設(shè)計1程序分析與說明圖書入庫的實現(xiàn):該模塊輸入圖書的各種信息,如果錄入成功則出現(xiàn)對話框,顯示錄入成功。圖書查詢的實現(xiàn):該模塊以輸入圖書號來查詢圖書信息,圖書信息包括圖書名、圖書號、作者、出版社和出版時間.圖書刪除的實現(xiàn):該模塊以圖書名來進(jìn)行刪除。首先,輸入圖書名,點擊刪除,如果刪除成功則出現(xiàn)對話框,顯示刪除成功。圖書更改的實現(xiàn):該模塊以輸入圖書號來進(jìn)行更改。首先,輸入圖書數(shù)據(jù)庫中已有的圖書名,然后輸入要更改的信息,點擊更新則更改。2系統(tǒng)功能結(jié)構(gòu)圖表4-1tushul4.1.2數(shù)據(jù)庫設(shè)計列名數(shù)據(jù)類型長度允許空Isbnchar40VShumingchar40Vzuozhechar16VCbtimechar20Vcbshechar40V列名數(shù)據(jù)類型長度允許空idchar8Pschar84.2自定義類及接口說明4.2.1登錄模塊(1)類名:Deng(2)父類:JFrame(3)作用:用戶的身份驗證(4)主要成員變量:JButtonjb,jb1;JTextFieldjtf;JPasswordFieldps;JLabeljl,jl1,jl2(5)主要成員方法:JButtonjb,jb1;JTextFieldjtf;JPasswordFieldps;JLabeljl,jl1,jl2(5)主要成員方法:publicDeng()//定義各按鈕〃定義文本行〃定義密碼輸入文本行//定義各個標(biāo)簽〃初始化各部件定義和事件監(jiān)聽設(shè)置顯示窗口的布局4.2.2圖書查詢模塊(1)類名:MySQLChaxun(2)父類:JFrame(3)作用:查詢圖書信息(4)主要成員變量:JTextFieldjtf;JLabeljl;JTextAreajta;JButtonjb,jb1(5)主要成員方法:MySQLChaxun()//定義文本行〃定義標(biāo)簽//定義文本區(qū)//定義各個按鈕〃初始化各部件定義和事件監(jiān)聽設(shè)置顯示窗口的布局4.2.3圖書刪除模塊(1)類名:MySQLDel(2)父類:JFrame(3)作用:刪除圖書信息(4)主要成員變量:JTextFieldjtf;JTextFieldjtf;JLabeljl;JButtonjb,jb1(5)主要成員方法:MySQLChaDel()4.2.4圖書更改模塊//定義文本行〃定義標(biāo)簽//定義各個按鈕〃初始化各部件定義和事件監(jiān)聽設(shè)置顯示窗口的布局(1(1)類名:MySQLGeng(2)父類:JFrame(3)作用:更改圖書信息(4)主要成員變量:JTextFieldjtfl,jtf2,jtf3,jtf4,jtf0;JLabeljl1,jl2,jl3,jl4,jl0;JButtonjb,jb1;(5)主要成員方法:MySQLChaGeng()4.2.5圖書入庫模塊〃定義各個文本行

//定義各個標(biāo)簽

〃定義各個按鈕〃初始化各部件定義和事件監(jiān)聽設(shè)置顯示窗口的布局類名:MySQLInsert父類:(4)主要成員變量:JTextFieldjtfl,jtf2,jtf3,jtf4,jtf0;JLabeljl1,jl2,jl3,jl4,jl0;JButtonjb,jb1;(5)主要成員方法:MySQLChaGeng()4.2.5圖書入庫模塊〃定義各個文本行

//定義各個標(biāo)簽

〃定義各個按鈕〃初始化各部件定義和事件監(jiān)聽設(shè)置顯示窗口的布局類名:MySQLInsert父類:JFrame作用:添加新的圖書信息主要成員變量:JTextFieldjtfl,jtf2,jtf3,jtf4,jtf0;JLabeljl1,jl2,jl3,jl4,jl0;JButtonjb,jb1;(5)主要成員方法:MySQLInsert()4.2.6圖書顯示模塊〃定義各個文本行

//定義各個標(biāo)簽

〃定義各個按鈕〃初始化各部件定義和事件監(jiān)聽設(shè)置顯示窗口的布局類名:MySQCha父類:JFrame作用:顯示圖書信息主要成員變量://定義文本區(qū)//定義各個按鈕//定義文本區(qū)//定義各個按鈕〃初始化各部件定義和事件監(jiān)聽設(shè)置顯示窗口的布局JButtonjb,jb1;(5)主要成員方法:MySQLCha()4.3程序源碼及運行與調(diào)試程序源碼1登錄importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjava.sql.*;publicclassDengextendsJFrame{JButtonjb;JTextFieldjtf;JPasswordFieldps;JLabeljl,jl1,jl2;staticStatementst;static{tryClass.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");Stringurl="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=tushu";Stringuser="sa";Stringpassword="123";Connectionconn=DriverManager.getConnection(url,user,password);st=conn.createStatement();catch(Exceptione){}}publicDeng(){jtf=newJTextField(8);ps=newJPasswordField(8);jb=newJButton("確定");jb.addActionListener(newMysql());jl=newJLabel("登錄名稱");jl1=newJLabel("用戶密碼");jl2=newJLabel("歡迎登錄圖書管理系統(tǒng)");Containercontainer=getContentPane();JPanelp=newJPanel();JPaneljp=newJPanel();jp.add(jl2);jp.setVisible(true);p.add(jp);jp=newJPanel();jp.add(jl);jp.add(jtf);p.add(jp);jp=newJPanel();jp.add(jll);jp.add(ps);jp.setVisible(true);p.add(jp);jp=newJPanel();));jp.add(newJLabel("));jp.add(jb);jp.add(newJLabel(""));jp.add(newJLabel(""));jp.setVisible(true);p.add(jp);container.add(p);setTitle("登陸窗口");setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setSize(300,250);setLocation(350,350);setVisible(true);}classMysqlimplementsActionListener{publicvoidactionPerformed(ActionEvente){try{Stringstrl=jtf.getText().trim();Stringstr2=ps.getText().trim();Strings="usetushuselect*fromhuiyuan";ResultSetrs=st.executeQuery(s);//獲得結(jié)果集while(rs.next()){if(rs.getString(1).equals(str1)&&rs.getString(2).equals(str2)){dispose。;bms=newb();break;}}rs.close();}catch(Exceptionee){}}}publicstaticvoidmain(Stringargs[]){newDeng();}}2管理importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;publicclassbextendsJFrame{b(){JPanelp=newJPanel();JPaneljp=newJPanel();jb1=newJButton("查詢");jb2=newJButton("顯示");jb3=newJButton("刪除");jb4=newJButton("更新");jb5=newJButton("添加");jp.setLayout(newFlowLayout());jb1.addActionListener(newb1());jb2.addActionListener(newb2());jb3.addActionListener(newb3());jb4.addActionListener(newb4());jb5.addActionListener(newb5());Containercontainer=getContentPane();jp.add(newJLabel(""));jp.add(jb1);jp.add(newJLabel("查詢需要的圖書信息"));jp.setVisible(true);p.add(jp);jp=newJPanel();jp.add(newJLabel(""));jp.add(jb2);jp.add(newJLabel("獲得所有圖書信息、”));jp.setVisible(true);p.add(jp);jp=newJPanel();jp.add(jb3);jp.add(newJLabel("刪除圖書信息"));jp.setVisible(true);p.add(jp);jp=newJPanel();jp.add(jb4);jp.add(newJLabel("修改圖書信息"));jp.setVisible(true);p.add(jp);jp=newJPanel();jp.add(jb5);jp.add(newJLabel("添加圖書信息"));jp.setVisible(true);p.add(jp);container.add(p);this.setTitle("圖書管理系統(tǒng)");this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setSize(300,250);this.setLocation(350,350);this.setVisible(true);}JButtonjb1,jb2,jb3,jb4,jb5;classblimplementsActionListener{publicvoidactionPerformed(ActionEvente){if(e.getSource()==jb1){dispose。;MySQLChaxuns1=newMySQLChaxun();}}}classb2implementsActionListener{publicvoidactionPerformed(ActionEvente){if(e.getSource()==jb2){dispose。;MySQLChas2=newMySQLCha();}}}classb3implementsActionListener{publicvoidactionPerformed(ActionEvente){if(e.getSource()==jb3){dispose。MySQLDels3=newMySQLDel();}}}classb4implementsActionListener{publicvoidactionPerformed(ActionEvente){if(e.getSource()==jb4){dispose。;MySQLGengs4=newMySQLGeng();}}}classb5implementsActionListener{publicvoidactionPerformed(ActionEvente){if(e.getSource()==jb5){dispose。;MySQLInserts5=newMySQLInsert();}}}}classx{publicstaticvoidmain(Stringargs[]){newb();}}3圖書入庫importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjava.sql.*;publicclassMySQLInsertextendsJFrame{JTextFieldjtf1,jtf2,jtf3,jtf4,jtf0;JLabeljl1,jl2,jl3,jl4,jl0;JButtonjb1,jb;staticStatementst;static{try{Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");Stringurl="jdbc:microsoft:sqlserver:〃localhost:1433;DatabaseName=tushu";Stringuser="sa";Stringpassword="123";Connectionconn=DriverManager.getConnection(url,user,password);st=conn.createStatement();}catch(Exceptione){}}publicMySQLInsert(){jtf0=newJTextField(15);jtfl=newJTextField(15);jtf2=newJTextField(15);jtf3=newJTextField(15);jtf4=newJTextField(15);jl0=newJLabel("書ISBN號");jl1=newJLabel("書名)jl2=newJLabel("作者");jl3=newJLabel("出版時間”);jl4=newJLabel("出版社");jb1=newJButton("添加");jb=newJButtonC返回");Containercontainer=getContentPane();JPaneljp1=newJPanel();JPaneljp=newJPanel();jp1.setLayout(newGridLayout(5,2));jp1.add(jl0);jp1.add(jtf0);jp1.add(jl1);jp1.add(jtf1);jp1.add(jl2);jp1.add(jtf2);jp1.add(jl3);jp1.add(jtf3);jp1.add(jl4);jp1.add(jtf4);jp.add(jb1);jp.add(jb);jb1.addActionListener(newmysql());jb.addActionListener(newMysql1());container.add(jp1,BorderLayout.CENTER);container.add(jp,BorderLayout.SOUTH);setTitle("添加窗口”);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setSize(300,250);setLocation(350,350);setVisible(true);}classmysqlimplementsActionListener{publicvoidactionPerformed(ActionEvente){try{Stringstr1=jtf1.getText().trim();Stringstr2=jtf2.getText().trim();Stringstr3=jtf3.getText().trim();Stringstr4=jtf3.getText().trim();Stringstr0=jtf0.getText().trim();Stringsql="usetushuinsertintotushu1(isbn,shuming,zuozhe,cbtime,cbshe)values。"+str0+"','"+str1+"','"+str2+"','"+str3+"','"+str4+"');";st.executeUpdate(sql);JOptionPane.showMessageDialog(MySQLInsert.this,數(shù)據(jù)添加成功","提示對話框",1);}catch(Exceptionee){}}}classMysql1implementsActionListener{publicvoidactionPerformed(ActionEvente1){if(e1.getSource()==jb){dispose();bms=newb();}}

}publicstaticvoidmain(Stringargs[]){newMySQLInsert();}4.3.2運行界面圖4-2登錄界面圖4-2登錄界面圖4-3管理界面圖4-4圖書查詢界面圖4-5圖書刪除界面圖4-6圖書入庫界面圖4-7圖書顯示界面4.3.3錯誤調(diào)試(1)在MySQLCha類MySQLCha方法中出現(xiàn)定義的按鈕jb變?yōu)闊o效的原因:在程序的開始聲明了改按鈕,然后再實例化的時候又聲明了一遍。如何解決:將實例化中的JButton(2)在MySQLCha中的內(nèi)部類Mysql類actionPerformed方法中出現(xiàn)找不到對象錯誤。原因:在sql語句中把與數(shù)據(jù)庫對應(yīng)的字段名拼寫錯了如何解決:把ibsn改成isbn(3)在MySQLCha中的內(nèi)部類Mysq類actionPerformed方

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論