版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
目錄題目簡(jiǎn)述--------------------------------01需求分析--------------------------------01數(shù)據(jù)結(jié)構(gòu)--------------------------------01功效模塊--------------------------------02程序設(shè)計(jì)--------------------------------02運(yùn)行截圖--------------------------------04分析總結(jié)--------------------------------08程序源碼--------------------------------08圖書信息管理系統(tǒng)題目簡(jiǎn)述:題目名稱:圖書信息管理系統(tǒng)要求:使用圖形用戶界面,用數(shù)據(jù)庫建立1或2個(gè)圖書信息表,能連接數(shù)據(jù)庫并實(shí)現(xiàn)查詢、增加、刪除、修改等功效。需求分析: 圖書信息管理系統(tǒng)應(yīng)該含有圖書信息管理功效和流通管理功效。其中,信息管理功效包含查找,增加,修改,刪除,顯示全部信息等模塊。流通管理功效包含圖書借閱,歸還等模塊。所以分別設(shè)計(jì)各個(gè)模塊,實(shí)現(xiàn)不一樣功效。數(shù)據(jù)結(jié)構(gòu): 用SQLSever建立數(shù)據(jù)庫表,用一張表存放圖書ID號(hào)碼,圖書名稱,圖書全部者,圖書狀態(tài),圖書使用者(許可為空)。具體設(shè)計(jì)以下圖所表示: 圖書ID,圖書名稱,圖書全部者,圖書狀態(tài),圖書使用者(許可為空)均為varchar(50)類型,在Java中能夠方便查詢。圖書存放信息具體內(nèi)容以下圖所表示: 功效模塊:主程序窗口主程序窗口系統(tǒng)操作圖書信息管理圖書流通管理退出增加圖書顯示圖書編輯圖書查找圖書刪除圖書圖書借閱圖書歸還程序設(shè)計(jì): 主框架設(shè)計(jì): 主框架上方包含三個(gè)按鈕,分別是“系統(tǒng)管理”、“圖書信息管理”和“圖書流通管理”,定義JMenuBar類對(duì)象、JMenu類對(duì)象和JMenuItem類對(duì)象,分別表示菜單欄、菜單組和菜單選項(xiàng),然后調(diào)用初始化函數(shù),將不一樣類對(duì)象經(jīng)過setText()函數(shù)設(shè)定不一樣文本,然后將其添加到窗口容器中。對(duì)每個(gè)按鈕分別添加不一樣消息監(jiān)聽,響應(yīng)對(duì)應(yīng)消息,調(diào)用不一樣類完成不一樣功效。消息監(jiān)聽功效詳見源代碼bookMain類。 圖書信息管理模塊包含增加圖書,刪除圖書,編輯圖書,查找圖書和顯示圖書信息。具體方法實(shí)現(xiàn)在bookBean中實(shí)現(xiàn),當(dāng)用戶點(diǎn)擊對(duì)應(yīng)按鈕時(shí),消息監(jiān)聽模塊就會(huì)調(diào)用bookBean結(jié)構(gòu)函數(shù)產(chǎn)生一個(gè)bookBean對(duì)象,然后經(jīng)過對(duì)象調(diào)用bookBean類中對(duì)應(yīng)方法,完成事件對(duì)應(yīng)。 增加圖書信息模塊: 調(diào)用bookAdd類結(jié)構(gòu)函數(shù)產(chǎn)生一個(gè)該類對(duì)象,在初始化函數(shù)中顯示信息輸入對(duì)話框,提醒用戶輸入圖書ID,圖書名稱和圖書全部者,因?yàn)閯傇黾訄D書沒有被借閱,所以圖書狀態(tài)和圖書使用者為默認(rèn)值,分別為空閑和null,所以用戶無須輸入這兩個(gè)屬性值。完成輸入后,點(diǎn)擊確定按鈕,消息監(jiān)聽模塊將調(diào)用bookBean結(jié)構(gòu)函數(shù)產(chǎn)生一個(gè)該類對(duì)象,經(jīng)過該對(duì)象調(diào)用bookBeanbookAdd函數(shù),實(shí)施SQL語句,經(jīng)過insert語句完成圖書信息增加插入功效。 刪除圖書信息模塊:調(diào)用bookDel類結(jié)構(gòu)函數(shù)產(chǎn)生一個(gè)該類對(duì)象,在初始化函數(shù)中顯示信息輸入對(duì)話框,提醒用戶輸入要?jiǎng)h除圖書ID。完成輸入后,點(diǎn)擊確定按鈕,消息監(jiān)聽模塊將調(diào)用bookBean結(jié)構(gòu)函數(shù)產(chǎn)生一個(gè)該類對(duì)象,經(jīng)過該對(duì)象調(diào)用bookBeanbookDel函數(shù),實(shí)施刪除SQL語句,經(jīng)過delete語句完成圖書信息刪除功效。修改圖書信息模塊:點(diǎn)擊按鈕后調(diào)用bookEdit類結(jié)構(gòu)函數(shù)產(chǎn)生一個(gè)該類對(duì)象,在初始化函數(shù)中顯示信息輸入對(duì)話框,提醒用戶輸入要修改圖書ID和其它圖書信息,用戶將信息輸入完成后,點(diǎn)擊確定按鈕,消息監(jiān)聽模塊將調(diào)用bookBean結(jié)構(gòu)函數(shù)產(chǎn)生一個(gè)該類對(duì)象,經(jīng)過該對(duì)象調(diào)用bookBeanbookEdit函數(shù),實(shí)施修改SQL語句,經(jīng)過update語句完成圖書信息編輯功效。查找圖書信息模塊:點(diǎn)擊按鈕后調(diào)用bookSearch類結(jié)構(gòu)函數(shù)產(chǎn)生一個(gè)該類對(duì)象,在初始化函數(shù)中顯示信息輸入對(duì)話框,提醒用戶輸入要查找圖書ID,用戶將信息輸入完成后,點(diǎn)擊確定按鈕,消息監(jiān)聽模塊將調(diào)用bookResult結(jié)構(gòu)函數(shù)產(chǎn)生一個(gè)該類對(duì)象,經(jīng)過該對(duì)象結(jié)構(gòu)函數(shù),實(shí)施查找SQL語句,經(jīng)過select語句完成圖書信息查找功效,然后結(jié)構(gòu)圖標(biāo),將查詢到信息顯示在圖表中。顯示圖書信息模塊:點(diǎn)擊按鈕后調(diào)用bookDisplay類結(jié)構(gòu)函數(shù)產(chǎn)生一個(gè)該類對(duì)象,在該對(duì)象結(jié)構(gòu)函數(shù)中調(diào)用bookAllSearch函數(shù),查詢?nèi)繄D書信息,顯示在表格中。 圖書流通管理模塊包含圖書借閱和歸還功效,其實(shí)就是對(duì)數(shù)據(jù)庫中某一統(tǒng)計(jì)集某一屬性進(jìn)行修改。 圖書借閱模塊: 用戶輸入要借閱圖書名稱和本人姓名,點(diǎn)擊確定后,將調(diào)用bookBean結(jié)構(gòu)函數(shù)產(chǎn)生一個(gè)對(duì)象,經(jīng)過該對(duì)象調(diào)用bookBook函數(shù),修改數(shù)據(jù)庫中信息,將圖書狀態(tài)屬性變?yōu)橐呀瑁瑢D書用戶屬性變?yōu)橛脩粜彰?,完成圖書借閱功效。圖書歸還模塊: 用戶輸入要?dú)w還圖書名稱,點(diǎn)擊確定后,將調(diào)用bookBean結(jié)構(gòu)函數(shù)產(chǎn)生一個(gè)對(duì)象,經(jīng)過該對(duì)象調(diào)用bookReturn函數(shù),修改數(shù)據(jù)庫中信息,把圖書狀態(tài)置為空閑,將圖書用戶置為空,從而完成圖書歸還功效。 備注:匯報(bào)此部分未附源代碼,詳見程序源碼部分。運(yùn)行截圖: 圖書信息增加: 圖書信息修改:圖書信息查詢: 圖書信息刪除: 圖書信息顯示:圖書借閱:圖書歸還:分析總結(jié): 本程序在數(shù)據(jù)庫設(shè)計(jì)方面能夠改為多張表存放方法,用三張表來統(tǒng)計(jì)圖書信息,借閱關(guān)系和學(xué)生信息,這么能夠降低數(shù)據(jù)冗余,還能夠增加部分其它功效,比圖書掛失等功效。因?yàn)閯倓偨佑|到Java界面設(shè)計(jì),所以本程序在界面設(shè)計(jì)方面還有有待改善地方。程序源碼:DatabaseConn.javapackagebookDB;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;publicclassDatabaseConn{ privateStatementstmt=null; ResultSetrs=null; privateConnectionconn=null; Stringsql; publicDatabaseConn(){} publicvoidOpenConn()throwsException{ try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); conn=DriverManager.getConnection("jdbc:odbc:library"); }catch(Exceptione){System.err.println("數(shù)據(jù)庫連接:"+e.getMessage());} } publicResultSetexecuteQuery(Stringsql){ stmt=null; rs=null; try{ stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); rs=stmt.executeQuery(sql); }catch(SQLExceptione){System.err.println("查詢數(shù)據(jù):"+e.getMessage());} returnrs; } publicvoidexecuteUpdate(Stringsql){ stmt=null; rs=null; try{ stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); rs=stmt.executeQuery(sql); mit(); }catch(SQLExceptione){System.err.println("更新數(shù)據(jù):"+e.getMessage());} } publicvoidcloseStmt(){ try{stmt.close();}catch(SQLExceptione){ System.err.println("釋放對(duì)象:"+e.getMessage()); } } publicvoidcloseConn(){ try{conn.close();}catch(SQLExceptionex){ System.err.println("釋放對(duì)象:"+ex.getMessage()); } } publicstaticStringtoGBK(Stringstr){ try{ if(str==null) str=null; else str=newString(str.getBytes("ISO-8859-1"),"GBK"); }catch(Exceptione){System.out.println(e);} returnstr; }}packagebookDB;importjava.awt.AWTEvent;importjava.awt.BorderLayout;importjava.awt.Container;importjava.awt.Font;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.awt.event.WindowAdapter;importjava.awt.event.WindowEvent;importjavax.swing.JFrame;importjavax.swing.JMenu;importjavax.swing.JMenuBar;importjavax.swing.JMenuItem;bookMain.javapublicclassbookMainextendsJFrameimplementsActionListener{ privatestaticfinallongserialVersionUID=1L; //----------建立菜單欄---------- JMenuBarmainMenu=newJMenuBar(); //--------------建立系統(tǒng)管理菜單組-------------- JMenumenuSystem=newJMenu(); JMenuItemitemExit=newJMenuItem(); JMenumenubook=newJMenu(); JMenumenuevent=newJMenu(); JMenuItemitemAdd=newJMenuItem(); JMenuItemitemEdit=newJMenuItem(); JMenuItemitemDelete=newJMenuItem(); JMenuItemitemSelect=newJMenuItem(); JMenuItemitemBook=newJMenuItem(); JMenuItemitemReturn=newJMenuItem(); JMenuItemitemDisplay=newJMenuItem(); //------------創(chuàng)建窗體模板對(duì)象-------------- publicstaticbookInfom_stu=newbookInfo(); publicbookMain(){ enableEvents(AWTEvent.WINDOW_EVENT_MASK); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.pack(); this.setSize(600,480); this.setTitle("圖書管理系統(tǒng)"); try{ Init(); }catch(Exceptione){e.printStackTrace();} } privatevoidInit()throwsException{ ContainercontentPane=this.getContentPane(); contentPane.setLayout(newBorderLayout()); //------添加菜單組------- menuSystem.setText("系統(tǒng)操作"); menuSystem.setFont(newFont("Dialog",0,12)); menubook.setText("圖書信息管理"); menubook.setFont(newFont("Dialog",0,12)); menuevent.setText("圖書流通管理"); menuevent.setFont(newFont("Dialog",0,12)); //---------生成系統(tǒng)管理菜單組--------- itemExit.setText("退出"); itemExit.setFont(newFont("Dialog",0,12)); //--------------生成學(xué)生菜單組---------------- itemAdd.setText("增加圖書"); itemAdd.setFont(newFont("Dialog",0,12)); itemEdit.setText("修改信息"); itemEdit.setFont(newFont("Dialog",0,12)); itemDelete.setText("刪除圖書"); itemDelete.setFont(newFont("Dialog",0,12)); itemSelect.setText("查詢"); itemSelect.setFont(newFont("Dialog",0,12)); itemDisplay.setText("顯示全部信息"); itemDisplay.setFont(newFont("Dialog",0,12)); //--------------生成管理事務(wù)菜單組---------------- itemBook.setText("圖書借閱"); itemBook.setFont(newFont("Dialog",0,12)); itemReturn.setText("圖書歸還"); itemReturn.setFont(newFont("Dialog",0,12)); menuSystem.add(itemExit); menubook.add(itemAdd); menubook.add(itemEdit); menubook.add(itemDelete); menubook.add(itemSelect); menubook.add(itemDisplay); menuevent.add(itemBook); menuevent.add(itemReturn); //----組合菜單欄--- mainMenu.add(menuSystem); mainMenu.add(menubook); mainMenu.add(menuevent); this.setJMenuBar(mainMenu); //添加事件監(jiān)聽 itemExit.addActionListener(this); itemAdd.addActionListener(this); itemEdit.addActionListener(this); itemDelete.addActionListener(this); itemSelect.addActionListener(this); itemBook.addActionListener(this); itemReturn.addActionListener(this); itemDisplay.addActionListener(this); setVisible(true); this.addWindowListener(newWindowAdapter(){ publicvoidwindowClosing(WindowEvente){System.exit(0);} }) ; } publicvoidactionPerformed(ActionEvente){ Objectobj=e.getSource(); if(obj==itemExit){System.exit(0);} elseif(obj==itemAdd){ bookAddasi=newbookAdd(); //asi.downInit(); asi.pack(); asi.setVisible(true); }elseif(obj==itemEdit){ bookEditesi=newbookEdit(); //esi.downInit(); esi.pack(); esi.setVisible(true); }elseif(obj==itemDelete){ bookDeldsi=newbookDel(); //dsi.downInit(); dsi.pack(); dsi.setVisible(true); }elseif(obj==itemSelect){ bookSearchsbid=newbookSearch(); sbid.pack(); sbid.setVisible(true); }elseif(obj==itemBook){ bookBooksboo=newbookBook(); sboo.pack(); sboo.setVisible(true); }elseif(obj==itemReturn){ bookReturnsre=newbookReturn(); sre.pack(); sre.setVisible(true); }elseif(obj==itemDisplay){ bookDisplaysre=newbookDisplay(); sre.pack(); sre.setVisible(true); } } publicstaticvoidmain(String[]args){newbookMain();}}bookAdd.javapackagebookDB;importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;publicclassbookAddextendsJFrameimplementsActionListener{ Containerc; JLabeljLabel1=newJLabel(); JLabeljLabel2=newJLabel(); JLabeljLabel3=newJLabel(); JLabeljLabel4=newJLabel(); JLabeljLabel5=newJLabel(); JTextFieldsid=newJTextField(10); JTextFieldsname=newJTextField(10); JTextFieldsowner=newJTextField(10); JTextFieldsstatus=newJTextField(10); JTextFieldsuser=newJTextField(10); JButtonaddconfirm=newJButton(); publicbookAdd(){ this.setTitle("增加圖書信息"); this.setResizable(false); try{Init();}catch(Exceptione){e.printStackTrace();} //設(shè)置居中 DimensionscreenSize=Toolkit.getDefaultToolkit().getScreenSize(); this.setLocation((int)(screenSize.width-400)/2,(int)(screenSize.height-300)/2+45); } publicvoidInit()throwsException{ this.setSize(300,500); c=this.getContentPane(); c.setLayout(newFlowLayout()); jLabel1.setText("圖書ID:"); jLabel1.setFont(newFont("Dialog",0,12)); c.add(jLabel1); sid.setText(null); sid.setFont(newFont("Dialog",0,12)); c.add(sid); jLabel2.setText("圖書名稱:"); jLabel2.setFont(newFont("Dialog",0,12)); c.add(jLabel2); sname.setText(null); sname.setFont(newFont("Dialog",0,12)); c.add(sname); jLabel3.setText("圖書全部者:"); jLabel3.setFont(newFont("Dialog",0,12)); c.add(jLabel3); sowner.setText(null); sowner.setFont(newFont("Dialog",0,12)); c.add(sowner); addconfirm.setText("確定增加"); addconfirm.setFont(newFont("Dialog",0,12)); c.add(addconfirm); addconfirm.addActionListener(this); } publicvoidactionPerformed(ActionEvente){ Objectobj=e.getSource(); if(obj==addconfirm){ bookBeanrs=newbookBean(); rs.bookAdd(sid.getText(),sname.getText(),sowner.getText()); this.dispose(); } }}bookInfo.javapackagebookDB;publicclassbookInfo{ Stringm_book_id; Stringm_book_name; Stringm_book_owner; Stringm_book_status; Stringm_book_user;}bookEdit.javapackagebookDB;importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;publicclassbookEditextendsJFrameimplementsActionListener{ Containerc; JLabeljLabel1=newJLabel(); JLabeljLabel2=newJLabel(); JLabeljLabel3=newJLabel(); JLabeljLabel4=newJLabel(); JLabeljLabel5=newJLabel(); JTextFieldsid=newJTextField(10); JTextFieldsname=newJTextField(10); JTextFieldsowner=newJTextField(10); JTextFieldsstatus=newJTextField(10); JTextFieldsuser=newJTextField(10); JButtoneditconfirm=newJButton(); publicbookEdit(){ this.setTitle("修改圖書信息"); this.setResizable(false); try{Init();}catch(Exceptione){e.printStackTrace();} //設(shè)置居中 DimensionscreenSize=Toolkit.getDefaultToolkit().getScreenSize(); this.setLocation((int)(screenSize.width-400)/2,(int)(screenSize.height-300)/2+45); } publicvoidInit()throwsException{ this.setSize(300,500); c=this.getContentPane(); c.setLayout(newFlowLayout()); jLabel1.setText("要修改圖書ID:"); jLabel1.setFont(newFont("Dialog",0,12)); c.add(jLabel1); sid.setText(null); sid.setFont(newFont("Dialog",0,12)); c.add(sid); jLabel2.setText("圖書名稱:"); jLabel2.setFont(newFont("Dialog",0,12)); c.add(jLabel2); sname.setText(null); sname.setFont(newFont("Dialog",0,12)); c.add(sname); jLabel3.setText("圖書全部者:"); jLabel3.setFont(newFont("Dialog",0,12)); c.add(jLabel3); sowner.setText(null); sowner.setFont(newFont("Dialog",0,12)); c.add(sowner); editconfirm.setText("確定修改"); editconfirm.setFont(newFont("Dialog",0,12)); c.add(editconfirm); editconfirm.addActionListener(this); } publicvoidactionPerformed(ActionEvente){ Objectobj=e.getSource(); if(obj==editconfirm){ bookBeanrs=newbookBean(); rs.bookModify(sid.getText(),sname.getText(),sowner.getText()); this.dispose(); } }}bookDel.javapackagebookDB;importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;publicclassbookDelextendsJFrameimplementsActionListener{ Containerc; JLabeljLabel1=newJLabel(); JTextFieldsid=newJTextField(10); JButtondelconfirm=newJButton(); publicbookDel(){ this.setTitle("刪除圖書信息"); this.setResizable(false); try{Init();}catch(Exceptione){e.printStackTrace();} //設(shè)置居中 DimensionscreenSize=Toolkit.getDefaultToolkit().getScreenSize(); this.setLocation((int)(screenSize.width-400)/2,(int)(screenSize.height-300)/2+45); } publicvoidInit()throwsException{ this.setSize(300,500); c=this.getContentPane(); c.setLayout(newFlowLayout()); jLabel1.setText("要?jiǎng)h除圖書ID:"); jLabel1.setFont(newFont("Dialog",0,12)); c.add(jLabel1); sid.setText(null); sid.setFont(newFont("Dialog",0,12)); c.add(sid); delconfirm.setText("確定刪除"); delconfirm.setFont(newFont("Dialog",0,12)); c.add(delconfirm); delconfirm.addActionListener(this); } publicvoidactionPerformed(ActionEvente){ Objectobj=e.getSource(); if(obj==delconfirm){ bookBeanrs=newbookBean(); rs.bookDel(sid.getText()); this.dispose(); } }}bookDisplay.javapackagebookDB;importjava.awt.*;importjavax.swing.*;publicclassbookDisplayextendsJFrame{ JLabeljLabel1=newJLabel(); JButtonjBExit=newJButton(); JScrollPanejScrollPane1; JTablejTabstuInfo; StringsNum; String[]列名={"圖書ID","圖書名","圖書全部者","圖書狀態(tài)","使用者"}; String[][]列值; StringsColValue; StringsColName; StringsFromValue; StringsToValue; publicbookDisplay(){ this.setTitle("學(xué)生信息查詢結(jié)果"); //--------設(shè)置運(yùn)行位置居中--------- DimensionscreenSize=Toolkit.getDefaultToolkit().getScreenSize(); this.setLocation((int)(screenSize.width-400)/2,(int)(screenSize.height-300)/2+45); bookBeanrstu=newbookBean(); try{ 列值=rstu.bookAllSearch(); if(列值==null){ JOptionPane.showMessageDialog(null,"沒有符合條件統(tǒng)計(jì)"); this.dispose(); }else{ jTabstuInfo=newJTable(列值,列名); jScrollPane1=newJScrollPane(jTabstuInfo); this.getContentPane().add(jScrollPane1,BorderLayout.CENTER); this.pack(); this.setVisible(true); } }catch(Exceptione){e.printStackTrace();} }}bookBook.javapackagebookDB;importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;publicclassbookBookextendsJFrameimplementsActionListener{ Containerc; JLabeljLabel1=newJLabel(); JLabeljLabel2=newJLabel(); JTextFieldsname=newJTextField(10); JTextFieldsuser=newJTextField(10); JButtonbookconfirm=newJButton(); publicbookBook(){ this.setTitle("借閱圖書"); this.setResizable(false); try{Init();}catch(Exceptione){e.printStackTrace();} //設(shè)置居中 DimensionscreenSize=Toolkit.getDefaultToolkit().getScreenSize(); this.setLocation((int)(screenSize.width-400)/2,(int)(screenSize.height-300)/2+45); } publicvoidInit()throwsException{ this.setSize(300,500); c=this.getContentPane(); c.setLayout(newFlowLayout()); jLabel1.setText("借閱圖書名稱:"); jLabel1.setFont(newFont("Dialog",0,12)); c.add(jLabel1); sname.setText(null); sname.setFont(newFont("Dialog",0,12)); c.add(sname); jLabel2.setText("借閱者姓名:"); jLabel2.setFont(newFont("Dialog",0,12)); c.add(jLabel2); suser.setText(null); suser.setFont(newFont("Dialog",0,12)); c.add(suser); bookconfirm.setText("確定"); bookconfirm.setFont(newFont("Dialog",0,12)); c.add(bookconfirm); bookconfirm.addActionListener(this); } publicvoidactionPerformed(ActionEvente){ Objectobj=e.getSource(); if(obj==bookconfirm){ bookBeanrs=newbookBean(); rs.bookBook(sname.getText(),suser.getText()); this.dispose(); } }}bookReturn.javapackagebookDB;importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;publicclassbookReturnextendsJFrameimplementsActionListener{ Containerc; JLabeljLabel1=newJLabel(); JTextFieldsname=newJTextField(10); JButtonreconfirm=newJButton(); publicbookReturn(){ this.setTitle("歸還圖書"); this.setResizable(false); try{Init();}catch(Exceptione){e.printStackTrace();} //設(shè)置居中 DimensionscreenSize=Toolkit.getDefaultToolkit().getScreenSize(); this.setLocation((int)(screenSize.width-400)/2,(int)(screenSize.height-300)/2+45); } publicvoidInit()throwsException{ this.setSize(300,500); c=this.getContentPane(); c.setLayout(newFlowLayout()); jLabel1.setText("歸還圖書名稱:"); jLabel1.setFont(newFont("Dialog",0,12)); c.add(jLabel1); sname.setText(null); sname.setFont(newFont("Dialog",0,12)); c.add(sname); reconfirm.setText("確定"); reconfirm.setFont(newFont("Dialog",0,12)); c.add(reconfirm); reconfirm.addActionListener(this); } publicvoidactionPerformed(ActionEvente){ Objectobj=e.getSource(); if(obj==reconfirm){ bookBeanrs=newbookBean(); rs.bookReturn(sname.getText()); this.dispose(); } }}bookSearch.javapackagebookDB;importjava.awt.*;importjava.awt.event.*;importjavax.*;publicclassbookSearchextendsJFrameimplementsActionListener{ Containerc; JLabeljLabel1=newJLabel(); JTextFieldsFrom=newJTextField(4); JButtonconfirm=newJButton(); publicbookSearch(){ this.setTitle("按圖書ID查詢"); this.setResizable(false); try{Init();}catch(Exceptione){e.printStackTrace();} //設(shè)置居中 DimensionscreenSize=Toolkit.getDefaultToolkit().getScreenSize(); this.setLocation((int)(screenSize.width-400)/2,(int)(screenSize.height-300)/2+45); } publicvoidInit()throwsException{ this.setSize(300,500); c=this.getContentPane(); c.setLayout(newFlowLayout()); jLabel1.setText("請(qǐng)輸入圖書ID:"); jLabel1.setFont(newFont("Dialog",0,12)); c.add(jLabel1); sFrom.setText(null); sFrom.setFont(newFont("Dialog",0,12)); c.add(sFrom); confirm.setText("確定"); confirm.setFont(newFont("Dialog",0,12)); c.add(confirm); confirm.addActionListener(this); } publicvoidactionPerformed(ActionEvente){ Objectobj=e.getSource(); if(obj==confirm){ Resultbookrs=newResultbook("book_id",sFrom.getText()); this.dispose(); } }}Resultbook.javapackagebookDB;importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;publicclassResultbookextendsJFrame{ JLabeljLabel1=newJLabel(); JButtonjBExit=newJButton(); JScrollPanejScrollPane1; JTablejTabstuInfo; StringsNum; String[]列名={"圖書ID","圖書名","圖書全部者","圖書狀態(tài)","使用者"}; String[][]列值; StringsColValue; StringsColName; StringsFromValue; StringsToValue; publicResultbook(Stringcolname,Stringcolvalue){ this.sColValue=colvalue; this.sColName=colname; this.setTitle("圖書信息查詢結(jié)果"); //--------設(shè)置運(yùn)行位置居中--------- DimensionscreenSize=Toolkit.getDefaultToolkit().getScreenSize(); this.setLocation((int)(screenSize.width-400)/2,(int)(screenSize.height-300)/2+45); bookBeanrstu=newbookBean(); try{ 列值=rstu.bookSearch(sColValue); if(列值==null){ JOptionPane.showMessageDialog(null,"沒有符合條件統(tǒng)計(jì)"); this.dispose(); }else{ jTabstuInfo=newJTable(列值,列名); jScrollPane1=newJScrollPane(jTabstuInfo); this.getContentPane().add(jScrollPane1,BorderLayout.CENTER); this.pack(); this.setVisible(true); } }catch(Exceptione){e.printStackTrace();} }}bookBean.javapackagebookDB;importjava.sql.ResultSet;importjavax.swing.JOptionPane;importbookDB.DatabaseConn;publicclassbookBean{ Stringsql; ResultSetrs=null; Stringsid; Stringsname; Stringsowner; Stringsstatus; Stringsuser; StringcolName; StringcolValue; //-----------------添加圖書信息------------------ publicvoidbookAdd(Stringid,Stringname,Stringowner){ DatabaseConnDB=newDatabaseConn(); this.sid=id; this.sname=name; this.sowner=owner; this.sstatus="空閑"; this.suser=null; if(sid.equals("")){ JOptionPane.showMessageDialog(null,"請(qǐng)輸入圖書ID","錯(cuò)誤",JOptionPane.ERROR_MESSAGE); return; } else{ sql="insertintobook(book_id,book_name,book_owner,book_status,book_user)values('"+sid+"','"+sname+"','"+sowner+"','"+sstatus+"','"+suser+"')"; try{DB.OpenConn(); DB.executeUpdate(sql); JOptionPane.showMessageDialog(null,"成功添加一條統(tǒng)計(jì)!"); }catch(Exceptione){ System.out.println(e); JOptionPane.showMessageDialog(null,"保留失敗!","錯(cuò)誤",JOptionPane.ERROR_MESSAGE); }finally{DB.closeStmt();DB.closeConn();} } } //-----------------修改圖書信息------------------ publicvoidbookModify(Stringid,Stringname,Stringowner){ DatabaseConnDB=newDatabaseConn(); this.sid=id; this.sname=name; this.sowner=owner; if(sid.equals("")){ JOptionPane.showMessageDialog(null,"請(qǐng)輸入圖書ID","錯(cuò)誤",JOptionPane.ERROR_MESSAGE); return; } else{ sql="updatebooksetbook_name='"+sname+"',book_owner='"+sowner+"'wherebook_id="+sid+""; try{DB.OpenConn(); DB.executeUpdate(sql); JOptionPane.showMessageDialog(null,"成功修改一條統(tǒng)計(jì)!"); }catch(Exceptione){ System.out.println(e); JOptionPane.showMessageDialog(null,"更新失敗!","錯(cuò)誤",JOptionPane.ERROR_MESSAGE); }finally{DB.closeStmt();DB.closeConn();} } } //-----------------刪除圖書信息------------------ publicvoidbookDel(Stringid){ DatabaseConnDB=newDatabaseConn(); this.sid=id; sql="deletefrombookwherebook_id="+id+""; try{DB.OpenConn(); DB.executeUpdate(sql); JOptionPane.showMessageDialog(null,"成功刪除一條統(tǒng)計(jì)!"); }catch(Exceptione){ System.out.println(e); JOptionPane.showMessageDialog(null,"刪除失敗!","錯(cuò)誤",JOptionPane.ERROR_MESSAGE); }finally{DB.closeStmt();DB.closeConn();} } //------------依據(jù)指定ID查詢圖書信息------------------ publicString[][]bookSearch(Stringid){ this.colValue=id; DatabaseConnDB=newDatabaseConn(); String[][]sn=null; introw=0; inti=0; sql="select*frombookwherebook_id="+colValue+""; try{ DB.OpenConn(); rs=DB.executeQuery(sql); if(rs.last()){row=rs.getRow(); } if(row==0) {sn=null;} else { sn=newString[row][5]; rs.first(); rs.previous(); while(rs.next()) { sn[i][0]=rs.getString("book_id"
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 山東省煙臺(tái)市愛華雙語學(xué)校2023-2024學(xué)年七年級(jí)上學(xué)期第一次月考生物試題(解析版)-A4
- 河北省滄州市獻(xiàn)縣2023-2024學(xué)年八年級(jí)上學(xué)期期末考試數(shù)學(xué)試卷(含答案)
- 養(yǎng)老院老人生活照顧人員考核獎(jiǎng)懲制度
- 養(yǎng)老院老人健康監(jiān)測(cè)人員行為規(guī)范制度
- 財(cái)務(wù)管理體系改革方案
- 《硅酸鹽的分析》課件
- 2024年度污水外運(yùn)處理與環(huán)保產(chǎn)業(yè)扶持政策合同范本3篇
- 文玩買賣合同(2篇)
- 撤銷贈(zèng)與房產(chǎn)合同(2篇)
- 2024年二手房買賣專業(yè)代簽服務(wù)合同3篇
- 安保設(shè)施保障措施方案
- 2024市場(chǎng)營(yíng)銷知識(shí)競(jìng)賽題庫及答案(共169題)
- 2024年平面設(shè)計(jì)師技能及理論知識(shí)考試題庫(附含答案)
- 部編版語文四年級(jí)上冊(cè)第五單元大單元作業(yè)設(shè)計(jì)
- TSHJX 061-2024 上海市域鐵路工程施工監(jiān)測(cè)技術(shù)規(guī)范
- 2024年井下采煤工技能競(jìng)賽理論考試題庫(含答案)
- 2.4.1 嘗試對(duì)生物進(jìn)行分類課件-2024-2025學(xué)年人教版生物七年級(jí)上冊(cè)
- 植物學(xué)智慧樹知到答案2024年浙江大學(xué)
- 醫(yī)院事業(yè)單位招錄100題真題真解(結(jié)構(gòu)化面試)
- 培訓(xùn)機(jī)構(gòu)學(xué)校:教師管理手冊(cè)
- 39 《出師表》對(duì)比閱讀-2024-2025中考語文文言文閱讀專項(xiàng)訓(xùn)練(含答案)
評(píng)論
0/150
提交評(píng)論