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

下載本文檔

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

文檔簡介

1、沈陽工程學(xué)院課程設(shè)計報告 第3章 數(shù)據(jù)庫設(shè)計 1. 管理員登陸此模塊主要是利用MenuBar添加菜單條,利用Menu和MenuItem添加菜單和菜單的各個參數(shù),通過事件ActionEvent 可以實(shí)現(xiàn)進(jìn)入各個模塊如管理日志、管理員添加、管理員切換、讀者添加、讀者修改、讀者查詢、讀者刪除、新書入庫、書籍查詢、借閱書籍、歸還書籍、借閱超時及退出的功能。2. 管理日志此模塊可以清楚的顯示出書籍借閱與歸還的信息,包括書號、書名、圖書證號、借/還、操作日期、已付款額。讀者可以通過此模塊實(shí)現(xiàn)的功能清楚的了解圖書被借閱和歸還的詳細(xì)信息,從而給讀者帶來了很多方便。3. 管理員添加功能介紹此模塊功能是增加新管理

2、員的登陸帳戶。在圖書館管理系統(tǒng)中必須有每一個管理者的帳戶讓其可以正常進(jìn)行新圖書證的辦理、借閱書籍和歸還書籍等系統(tǒng)管理。所以在管理員功能模塊中增加了管理員添加這個功能。4. 管理員切換此模塊的主要功能是進(jìn)行管理員之間的切換,即單擊管理員菜單下的管理員切換,就會退出當(dāng)前管理員界面,從而出現(xiàn)管理員切換窗口,而另一管理員就可以在管理員切換窗口中的用戶名和密碼兩欄中通過輸入自己的用戶名和密碼直接進(jìn)入該系統(tǒng)。2.2.2 讀者管理1. 讀者添加此模塊主要的實(shí)現(xiàn)功能是添加新的讀者信息,即當(dāng)有新的讀者要看查看本圖書館中的書藉,可以通過此功能實(shí)現(xiàn),當(dāng)數(shù)據(jù)庫中存在其新信息,即成為本圖書館的新一位讀者。其中信息分別包

3、括圖書證號、學(xué)生姓名、性別、系別、班級,同時可有三項功能在此處實(shí)現(xiàn),即添加、重置以及返回。2.讀者修改此模塊主要的實(shí)現(xiàn)功能對有信息更新的讀者進(jìn)行即時修改,以隨時更新讀者在數(shù)據(jù)庫中的信息。本模塊通過圖書證號確定讀者,可對讀者信息的新圖書證號、學(xué)短姓名、性別、系別、班級。此處可分別實(shí)現(xiàn)對該功能的修改、重置、返回。3. 讀者查詢此模塊主要可對所要了解的讀者信息。即把讀者的信息從數(shù)據(jù)庫調(diào)出來,顯示在該窗口中的文字區(qū)域。查詢方式分別有按圖書證查詢、按姓名查詢、按班級查詢、按年級查詢,并可通過辦理入相應(yīng)的關(guān)鍵字,更加縮小查詢范圍。此處可實(shí)現(xiàn)查詢和返回功能。4. 讀者刪除此模塊可以刪除一些不再使用本系統(tǒng)的讀

4、者資料,從而達(dá)到對數(shù)據(jù)庫中的清理,即清除一些不必要資料,此處有四種刪除途徑,分別為按圖書證號刪除、按姓名刪除、按班級刪除、安年級刪除,并可通過所輸入的關(guān)鍵字盡快找到所要刪除的資料。此處可分別實(shí)現(xiàn)對該功能的修改、重置、返回。2.2.3書籍管理模塊功能介紹1. 新書入庫功能介紹此模塊主要的實(shí)現(xiàn)功能是將新來的圖書輸入到圖書館管理系統(tǒng)的書庫當(dāng)中,其中主要按如下信息往書庫中輸入,這部分的操作主要是便于書庫合理的管理,有利于讀者能夠?qū)π聲幸粋€更詳細(xì)的了解。其中包括如下信息:新書書號、新書名稱、新書出版日期、新書出版社、入庫數(shù)量、編寫作者、新書單價。2. 書籍查詢功能介紹在圖書館管理系統(tǒng)中書籍查詢是最基本

5、的功能,讀者可以根據(jù)自己的需求來查詢想要借閱的書籍。本系統(tǒng)是用Java應(yīng)用程序和Access數(shù)據(jù)庫一起開發(fā)的其中利用Java來編程實(shí)現(xiàn)功能的代碼和布置運(yùn)行界面。界面是由檢索項、檢索詞和顯示文本區(qū)三個部分組成的用戶根據(jù)自己的需要在檢索項中選擇自己所要按什么字段進(jìn)行查詢,其中書籍查詢功能的檢索項中可以按書號查詢、按書名查詢、按作者名查詢、按出版社查詢、按入庫時間查詢等基礎(chǔ)查詢。選擇檢索項后用戶只要在檢索詞中添寫自己所要查詢的內(nèi)容并確定鍵確認(rèn)后用戶要查詢的內(nèi)容就可以在顯示文本區(qū)中顯示出來。用戶可以根據(jù)顯示的信息得知自己所要借閱書籍的情況。2.2.4 書籍借閱與歸還功能介紹1. 借閱書籍功能介紹此模塊

6、主要實(shí)現(xiàn)讀者可憑有效的圖書證號,借閱圖書館內(nèi)未借出的圖書。輸入圖書證號后,可顯示了該圖書證持有者的全部信息(包括借書證號、姓名、性別、所在班級、所屬系部、當(dāng)前可借閱圖書個數(shù)),供讀者確認(rèn)信息。通過輸入有效的圖書編號,查詢該圖書的全部信息(包括書號、書名、作者、出版社、是否借出、價格)。借閱成功后,將該圖書證號、書號、借閱日期、應(yīng)還日期信息插入到數(shù)據(jù)庫的表中進(jìn)行記錄。2. 歸還書籍功能介紹此模塊主要實(shí)現(xiàn)讀者憑所要?dú)w還圖書的圖書證號歸還圖書。輸入所要?dú)w還的圖書編號后,可顯示了該圖書證持有者的全部信息(包括借書證號、姓名、性別、所在班級、所屬系部、當(dāng)前可借閱圖書個數(shù)),供讀者確認(rèn)信息。還書成功后,從

7、數(shù)據(jù)庫中刪除該書的借出記錄,并修改數(shù)據(jù)庫中的相應(yīng)信息。2.2.5 借閱超時功能介紹此模塊主要實(shí)現(xiàn)顯示過期圖書的信息(包括圖書證號、書號、借閱日期、應(yīng)還日期)提醒讀者還書。 3.1 數(shù)據(jù)庫需求分析 Admi表,即管理員表,記錄了用戶名和密碼。 Admirz表,即管理日志表,記錄了書號、書名、圖書證號、借/還、操作日期、已付款額。 book表,即圖書表,記錄了書號、書名、作者、出版社、入庫時間、是否借出、價格。 borrowbook表,即借閱表,記錄了圖書證號、書號、借閱日期、應(yīng)還日期。 person表,即讀者表,記錄了圖書證號、姓名、性別、系別、班級。3.2 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計圖書館管理系統(tǒng)E-

8、R圖,如圖3-1。mn讀者圖書管理員性別系別班級姓名圖書證號書號書名作者出版社會化密碼用戶名管理管理mnm借閱1入庫時間是否借出價格圖3-1 圖書館管理系統(tǒng)E-R圖3.3 數(shù)據(jù)庫表的設(shè)計Admi表表中記錄了可以使管理員進(jìn)入該系統(tǒng)的用戶名及密碼,如表3-1所示。表3-1 管理員信息表字段名稱數(shù)據(jù)類型長 度備 注用戶名文 本10密 碼文 本15Admirz表表中記錄借還書日志,用于存下所有對圖書操作的記錄,以便以后可以翻閱和查找,如表3-2所示。表3-2 管理日志表字段名稱數(shù)據(jù)類型長 度備 注書號文 本10書名文 本15作者文 本15出版社文 本15入庫時間DATE15已付款額文 本10book表

9、表中記錄了庫內(nèi)所有圖書的所有資料,如表3-3。表3-3 圖書表字段名稱數(shù)據(jù)類型長 度備 注書號文 本10書名文 本15作者文 本15出版社文 本15入庫時間DATE15是否借出文 本10價格文 本10person表表中記錄庫中所有讀者的相關(guān)信息,如表3-4所示。表3-4 讀者表字段名稱數(shù)據(jù)類型長 度備 注圖書證號文 本10姓名文 本15性別文 本15系別文 本15班級文 本15borrowbook表表內(nèi)記錄了此時圖書的借閱情況,如表3-5所示。表3-5 借閱表字段名稱數(shù)據(jù)類型長 度備 注圖書證號文 本10書號文 本15借閱日期DATE15應(yīng)還日期DATE155沈陽工程學(xué)院課程設(shè)計報告 第4章

10、系統(tǒng)功能實(shí)現(xiàn)第4章 系統(tǒng)功能實(shí)現(xiàn)4.1 管理員模塊功能實(shí)現(xiàn)4.1.1 管理員登陸此模塊是整個系統(tǒng)最主要的部分,管理員可以通過此模塊實(shí)現(xiàn)進(jìn)入其余各個模塊如管理日志、管理員添加、管理員切換、讀者添加、讀者修改、讀者查詢、讀者刪除、新書入庫、書籍查詢、借閱書籍、歸還書籍、借閱超時及退出的功能。圖書管理系統(tǒng)管理員界面如圖4-1所示。圖4-1 圖書管理系統(tǒng)管理員主要程序代碼如下:public void actionPerformed(ActionEvent e) if(e.getSource()=itemAdmiqh)this.dispose();In winin=new In("系統(tǒng)登陸&q

11、uot;);if(e.getSource()=itemtc)System.exit(0);if(e.getSource()=itemAdmixj)CreatAdmi creatAdmi=new CreatAdmi("管理員添加");if(e.getSource()=itemAdmirz)WinTable wintable=new WinTable("管理日志");if(e.getSource()=itemBookrk)AddInfy addInfy=new AddInfy();if(e.getSource()=itemPersonlr)Winperson

12、add winperson=new Winpersonadd("讀者添加");if(e.getSource()=itemPersoncx)Winpersonsearch winperson=new Winpersonsearch("讀者信息查詢");if(e.getSource()=itemPersonxg)Winpersonmodify winperson=new Winpersonmodify("讀者信息修改");if(e.getSource()=itemPersonsc)Winpersondelete winperson=new

13、 Winpersondelete("讀者刪除");if(e.getSource()=itemBookcx)Windowjj ok=new Windowjj();if(e.getSource()=itemchaoshi)day win=new day(); if(e.getSource()=itemBorrowjs)Borrowbook win=new Borrowbook(); if(e.getSource()=itemBorrowhs)Returnbook win=new Returnbook(); 4.1.2 管理日志此模塊通過定義類WinTable繼承頂層容器JFra

14、me,再添加普通容器 JScrollPane、Jpanel,然后通過BorderLayout布局創(chuàng)建界面,最后主要通過數(shù)組利用while循環(huán)在連接好的數(shù)據(jù)庫中查找表Admirz中的內(nèi)容,從而實(shí)現(xiàn)了可以清楚的顯示出書籍借閱與歸還信息的功能。管理日志界面如圖4-2所示。圖4-2 管理日志主要程序代碼如下:WinTable(String s)super(s);try Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");catch(ClassNotFoundException e)System.out.println(""

15、+e);try con=DriverManager.getConnection("jdbc:odbc:sun","123","123");sql=con.createStatement();rs=sql.executeQuery("SELECT * FROM Admirz");while(rs.next()k+;catch(SQLException e)System.out.println(""+e);try con=DriverManager.getConnection("jdbc:

16、odbc:sun","123","123");sql=con.createStatement();rs=sql.executeQuery("SELECT * FROM Admirz");a=new Objectk6;while(rs.next()for(int j=0;j<6;j+)if(j<5)aij=rs.getString(j+1);elseaij=rs.getDouble(j+1);i+;con.close();catch(SQLException e)System.out.println("&

17、quot;+e);table=new JTable(a,name);Container con=getContentPane();getContentPane().add(new JScrollPane(table),BorderLayout.CENTER);setBounds(120,125,700,500);setVisible(true);validate();addWindowListener(new DisposeListener();4.1.3 管理員添加功能實(shí)現(xiàn)功能介紹:該程序主要實(shí)現(xiàn)管理員的添加,以便于讓實(shí)行對圖書管理員的管理。按照標(biāo)簽提示輸入信息,然后點(diǎn)擊確定按鈕。首先判斷管

18、理員名文本框中輸入的文本信息是否符合大于3個字符并小于10個字符的規(guī)則,如果不符合規(guī)則,則提示錯誤,如果符合規(guī)則,再到Admi表中進(jìn)行查詢,如果相同則用提示框提示錯誤。若無相同則可注冊。但還需要保證前后兩次的密碼相同,才能成功注冊,管理員登陸窗口如圖4-3所示。圖4-3 管理員添加成功界面主要程序代碼如下: public void actionPerformed(ActionEvent c)String b=textUser.getText();String d=textPassword1.getText();String g=textPassword2.getText();if(c.getS

19、ource()=buttonqk)textUser.setText(null);textPassword1.setText(null);textPassword2.setText(null);if(c.getSource()=buttonEnter|c.getSource()=textPassword2)if(b.length()<3|b.length()>10)JOptionPane.showMessageDialog(null,"用戶名應(yīng)在310個字符之間");textUser.setText(null);elsetry Class.forName(&quo

20、t;sun.jdbc.odbc.JdbcOdbcDriver");catch(ClassNotFoundException e)System.out.println(""+e);try con=DriverManager.getConnection("jdbc:odbc:sun","123","123");sql=con.createStatement();rs=sql.executeQuery("SELECT * FROM Admi WHERE 用戶名="+"'&q

21、uot;+b+"'");if(rs.next()String user=rs.getString(1);if(b.equals(user) JOptionPane.showMessageDialog(null,"此管理員已被注冊","警告",JOptionPane.WARNING_MESSAGE);elseif(d.equals(g) sql.executeUpdate("INSERTINTOAdmi VALUES"+"("+"'"+b+"'

22、"+","+"'"+d+"'"+")");this.dispose();JOptionPane.showMessageDialog(null,"管理員注冊成功"); else JOptionPane.showMessageDialog(null,"兩次輸入密碼不一致","警告",JOptionPane.ERROR_MESSAGE); con.close(); catch(SQLException e)System.out.prin

23、tln(""+e);4.1.4 管理員切換此模塊功能是退出當(dāng)前管理員界面,進(jìn)入管理員切換窗口,另一用戶可以通過輸入自己的用戶名和密碼直接進(jìn)入該系統(tǒng)。但此用戶名和密碼都必須與已經(jīng)連接好的數(shù)據(jù)庫中表Admi中的用戶名和密碼相吻合。管理員切換界面如圖4-4所示。圖4-4 管理員切換主要程序代碼如下:public void windowClosing(WindowEvent e)e.getWindow().dispose();4.2 讀者管理模塊功能實(shí)現(xiàn)4.2.1 讀者添加功能介紹:添加新的讀者,使其能夠進(jìn)入圖書系統(tǒng)閱覽圖書,讀者添加如圖4-5所示。 圖4-5 讀者添加主要程序代碼

24、如下: public void actionPerformed(ActionEvent e)if(e.getSource()=button1) / 添加String ch=text1.getText();if(ch.length()!=5)JOptionPane.showMessageDialog(null,"請輸入5位圖書證號!");text1.setText(null);else/連接數(shù)據(jù)庫String number,name,sex,dept,classes,record,insertStr;number=text1.getText();name=text2.getT

25、ext();if(box1.getState()=true)sex=box1.getLabel();elsesex=box2.getLabel();dept=text3.getText();classes=text4.getText();rs=sql.executeQuery("SELECT * FROM person WHERE 圖書證號="+"'"+number+"'");if(rs.next()JOptionPane.showMessageDialog(null,"此圖書證號已存在",&quo

26、t;警告",JOptionPane.WARNING_MESSAGE);text1.setText(null);record="("+"'"+number+"'"+","+"'"+name+"'"+","+"'"+sex+"'"+","+"'"+dept+"'"+","

27、;+"'"+classes+"'"+")"insertStr="INSERT INTO person VALUES"+record;sql.executeUpdate(insertStr); JOptionPane.showMessageDialog(null,"添加成功!");con.close();4.2.2 讀者修改功能介紹:對讀者需要修改的資料進(jìn)行重定義,讀者信息修改如圖4-6所示。圖4-6 讀者信息修改主要程序代碼如下:public void actionPerform

28、ed(ActionEvent e) if(e.getSource()=button1) /修改String ch=text1.getText();if(ch.length()!=5)JOptionPane.showMessageDialog(null,"請輸入5位圖書證號!");text1.setText(null);elsetry/連接數(shù)據(jù)庫String number,name,sex,dept,classes,newnum,record,updateStr;newnum=text5.getText();number=text1.getText();name=text2.

29、getText();if(box1.getState()=true)sex=box1.getLabel();elsesex=box2.getLabel();dept=text3.getText();classes=text4.getText();sql=con.createStatement();rs=sql.executeQuery("SELECT * FROM person where 圖書證號="+"'"+newnum+"'");if(rs.next()rs1=sql.executeQuery("SEL

30、ECT * FROM person where 圖書證號="+"'"+number+"'");if(rs1.next()JOptionPane.showMessageDialog(null,"此圖書證號已存在","警告",JOptionPane.WARNING_MESSAGE);text1.setText(null);elseupdateStr="UPDATE person SET 圖書證號="+"'"+number+"'&

31、quot;+","+"姓名="+"'"+name+"'"+","+"性別="+"'"+sex+"'"+","+"系別="+"'"+dept+"'"+","+"班級="+"'"+classes+"'"+"WH

32、ERE 圖書證號="+"'"+newnum+"'"sql.executeUpdate(updateStr);JOptionPane.showMessageDialog(null,"修改成功!");elseJOptionPane.showMessageDialog(null,"查無此人!");/連接數(shù)據(jù)庫con.close();4.2.3 讀者查詢功能介紹:可以對數(shù)據(jù)庫中已有的讀者信息進(jìn)行查詢。讀者查詢?nèi)鐖D4-7。圖4-7讀者信息查詢主要程序代碼如下:public void actionPe

33、rformed(ActionEvent e) if(e.getSource()=button1 | e.getSource()=text) / 查詢area.setText(null);if(str="按圖書證號查詢" | str=null) && text.getText()!=null)boolean flag=true,f=true;String num=text.getText();/連接數(shù)據(jù)庫rs=sql.executeQuery("SELECT * FROM person where 圖書證號="+"'&qu

34、ot;+num+"'"); while(rs.next()f=false;String number=rs.getString("圖書證號");String name=rs.getString("姓名");String sex=rs.getString("性別");String dept=rs.getString("系別");String classes=rs.getString("班級");if(flag)area.append("圖書證號為"+

35、num+"的學(xué)生信息如下:");flag=false;area.append("n姓名:"+name+" 性別:"+sex+" 系別:"+dept+" 班級:"+classes+"n");if(f)area.append("查無此人!");catch(SQLException c)System.out.println(c);4.2.4 讀者刪除功能介紹:刪除數(shù)據(jù)庫中已有信息。讀者刪除如圖4-8所示。圖4-8 讀者刪除主要程序代碼如下:if(e.getSou

36、rce()=button1) / 刪除area.setText(null);if(str="按圖書證號刪除" | str=null) && text.getText()!=null) String num=text.getText();tryClass.forName("sun.jdbc.odbc.JdbcOdbcDriver");catch(ClassNotFoundException c)System.out.println(""+c);/連接數(shù)據(jù)庫rs=sql.executeQuery("SELECT

37、* FROM person where 圖書證號="+"'"+num+"'");if(rs.next()area.append("該信息已刪除!");String delStr="DELETE FROM person WHERE 圖書證號="+"'"+num+"'"sql.executeQuery(delStr);con.close();catch(SQLException c)System.out.println(c);4.3 書籍

38、管理模塊功能實(shí)現(xiàn)4.3.1 新書入庫實(shí)現(xiàn)功能介紹:此界面主要完成的功能是往數(shù)據(jù)庫book表中添加新書的記錄,在book表中可查看最新的記錄。在新書信息輸入的過程中,會出現(xiàn)一些異常處理,如某個字段的信息沒有填寫;新書信息輸入字段的過程中,輸入的字段類型與給定的字段類型與輸入不匹配(如:貨幣、日期);輸入的信息長度超過給定的字段長度等。如果填寫的內(nèi)容正確則可以成功將新書添加入庫,新書入庫窗口如圖4-9所示。 圖4-9添加新書入庫界面主要程序代碼如下: public void actionPerformed(ActionEvent c) if (c.getSource()=button2)this.

39、dispose();if (c.getSource()=button1)/連接數(shù)據(jù)庫rs=stm.executeQuery("select 書號 from book where 書號='" +textField1.getText() + "'");if (rs.next()JOptionPane.showMessageDialog(null, "此書號已存在!", "警告",JOptionPane.WARNING_MESSAGE);return;float m;String str1,str2,st

40、r3,str4,str6,str7,str8,str9,str10;str1=textField1.getText(); str10="未借出"m=Float.parseFloat(str9); str="("+"'"+str1+"','"+str3+"','"+str8+"','"+str6+"','"+str7+"','"+str10+"

41、;',"+m+")"String insert="INSERT INTO book(書號,書名,作者,出版社,入庫時間,是否借出,價格) VALUES"+str;stm.executeUpdate(insert);textField1.setText("");JOptionPane.showMessageDialog(null, "增加信息成功!");con.close();catch (Exception e)JOptionPane.showMessageDialog(null, "請

42、認(rèn)真檢查各項!然后重試.", "異常警告", JOptionPane.WARNING_MESSAGE); 4.3.2查詢功能實(shí)現(xiàn)功能介紹:本系統(tǒng)包含兩項一是檢索項令一個是檢索詞,在檢索項中用戶可以根據(jù)自己的需求來選擇所要查詢的項目并在檢索詞中添寫自己所要查詢的內(nèi)容。本系統(tǒng)副帶四個按鈕:確定、取消、查看全庫,該圖書館管理系統(tǒng)的查詢界面如圖4-10所示。圖4-10 查詢系統(tǒng)界面在該系統(tǒng)中為了用戶使用方便還設(shè)有查看全庫一項,用戶可以通過這一功能來查看全庫的圖書,所查詢的內(nèi)容將在下方的文本區(qū)中顯示,其界面4-11所示。圖4-11 查看全庫信息21使用檢索詞必須得滿足一定的

43、查詢條件才可以執(zhí)行,用戶必須得在檢索項中選擇查詢方式并添好檢索詞才可查詢否則系統(tǒng)會顯示未找到您要查找的內(nèi)容并給以提示,如圖4-12所示。圖4-12 檢索項按書號查詢主要程序代碼如下:public void itemStateChanged(ItemEvent e) area.setText(null) ; String name=choice1.getSelectedItem(); area.append( " 請您在檢索項中輸入您要查找的內(nèi)容 : "); public void actionPerformed(ActionEvent e) if (e.getSource(

44、)=button2) /取消鍵 text1.setText(null); else if (e.getSource()=button3) /返回鍵 this.dispose(); else if (e.getSource()=button4) / 查看全庫 Connection con; Statement sql; ResultSet rs; try /建立數(shù)據(jù)源 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); catch(ClassNotFoundException c) System.out.println("&

45、quot;+c); try con=DriverManager.getConnection("jdbc:odbc:sun","",""); sql=con.createStatement(); rs=sql.executeQuery("select * from book ");while (rs.next() String bookname=rs.getString("書名"); String auther=rs.getString("作者"); String chuban

46、she=rs.getString("出版社"); String bookno=rs.getString("書號"); String data=rs.getString("入庫時間"); String yesorno=rs.getString("是否借出"); area.append("n書號:"+bookno); area.append(" 書名:"+bookname); area.append(" 作者:"+auther); area.append(&q

47、uot; 出版社:"+chubanshe); area.append(" n入庫時間:"+data); area.append(" 是否借出:"+yesorno); con.close(); catch(SQLException c) System.out.println(""+c); 4.4 書籍借閱與歸還功能實(shí)現(xiàn)4.4.1 借閱書籍功能實(shí)現(xiàn)輸入圖書證號“0001”后點(diǎn)擊查看按鈕,可顯示該讀者信息,若輸入圖書證號錯誤,點(diǎn)擊查看按鈕則會彈出借書證錯誤對話框,如圖4-13所示。輸入圖書編號“0000003”按回車鍵,可顯示該圖

48、書信息,若輸入圖書編號錯誤,按回車鍵則會彈出圖書編號錯誤對話框,如圖4-14所示。點(diǎn)擊借閱按鈕則會彈出圖書借閱成功對話框。借閱書籍功能的具體實(shí)現(xiàn)如圖4-15所示。圖4-13 借書證錯誤圖4-14 圖書編號錯誤圖4-15 借閱書籍主要程序代碼如下: public void actionPerformed(ActionEvent e)if(e.getSource()=tj)if(!tscard.getText().equals(null)&&!tsid.getText().equals(null)String str1,str2;str1=tsid.getText();str2=t

49、scard.getText();tryClass.forName("sun.jdbc.odbc.JdbcOdbcDriver");catch(ClassNotFoundException c)System.out.println(""+c);/連接數(shù)據(jù)庫rs=sql.executeQuery("SELECT * FROM person where 圖書證號="+"'"+str2+"'");String ls1=null,ls2=null,ls3=null;int is1=0;if

50、(rs.next()ls2=str2;con.close();/連接數(shù)據(jù)庫rs=sql.executeQuery("SELECT * FROM book where 書號="+"'"+str1+"'");if(rs.next()if(rs.getString("是否借出").equals("未借出")ls1=str1;ls3=rs.getString("書名");con.close();/連接數(shù)據(jù)庫rs=sql.executeQuery("SELEC

51、T count(書號) FROM borrowbook where 圖書證號="+"'"+str1+"'");rs.next();is1=rs.getInt(1);con.close();/連接數(shù)據(jù)庫if(ls1=str1&&ls2=str2&&is1<5) Date da=new Date();int y=da.getYear()+1900;int m=da.getMonth()+1;int d=da.getDate(); String jyrq=String.valueOf(y)+&qu

52、ot;-"+String.valueOf(m)+"-"+String.valueOf(d);/計算借閱時間String yhrq=String.valueOf(y)+"-"+String.valueOf(m)+"-"+String.valueOf(d);String insertstr="INSERT INTO borrowbook VALUES ('"+ls2+"','"+ls1+"','"+jyrq+"'

53、,'"+yhrq+"')"String updatestr="UPDATE book SET 是否借出='借出' WHERE 書號="+"'"+str1+"'"String insertstr2="INSERT INTO Admirz VALUES('"+ls1+"','"+ls3+"','"+ls2+"','借書','"+jyrq+"',0)"sql.executeUpdate(insertstr);sql.executeUpdate(insertstr2);sql.executeUpdate(updatestr);JOptionPane.showMess

溫馨提示

  • 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

提交評論