版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、主要內(nèi)容、基本要求、主要參考資料等:1. 使用圖形用戶界面2. 用數(shù)據(jù)庫建立圖書信息表和借閱者。(不限使用哪種數(shù)據(jù)庫)3. 能連接數(shù)據(jù)庫并實(shí)現(xiàn)查詢、增、刪、改等功能4. 王克宏、郝建文。Java技術(shù)教程。北京:清華大學(xué)出版社。20025. 周競濤、趙寒。Eclipse完全手冊。北京:電子工業(yè)出版社,2006蒙祖強(qiáng)、龔濤。數(shù)據(jù)庫Java開發(fā)。北京:中國水利水電出版社。2006完 成 期 限: 2010/6/7-2010/6/14 指導(dǎo)教師簽名: 課程負(fù)責(zé)人簽名: 2010年 6月 12日目錄一、引言。4二、需求分析。5三、總體設(shè)計(jì)。6四、詳細(xì)設(shè)計(jì)。8五、實(shí)現(xiàn)和源程序。45六、課程設(shè)計(jì)心得與體會。
2、49七、參考文獻(xiàn)。49一、引言項(xiàng)目的名稱圖書管理系統(tǒng)項(xiàng)目背景和目標(biāo) 背景:隨著圖書館規(guī)模的不斷擴(kuò)大,圖書數(shù)量的不斷增多,有關(guān)圖書的各種信息量也是成倍增加,面對著龐大的信息量,傳統(tǒng)的人工方式管理會導(dǎo)致圖書管理上的混亂,人力與物力過多浪費(fèi),圖書管理費(fèi)用的增加,從而使圖書館的負(fù)擔(dān)過重,影響整個圖書館的運(yùn)作和管理控制,因此,必須制定一套合理有效規(guī)范圖書管理系統(tǒng),對圖書資料進(jìn)行統(tǒng)一的管理。 另一方面,IT產(chǎn)業(yè)和Internet獲得了飛速的發(fā)展,計(jì)算機(jī)應(yīng)用已經(jīng)滲透到了各個領(lǐng)域,引起信息管理的革命,實(shí)現(xiàn)了信息的自動化處理,提高了處理的及時(shí)性和正確性。 提高計(jì)算機(jī)管理的工作效率,做到信息的規(guī)范管理,科學(xué)統(tǒng)計(jì)和
3、快速查詢,讓圖書館更好的為學(xué)校,社會服務(wù)。目標(biāo):實(shí)現(xiàn)圖書管理的圖書入庫、圖書查詢、圖書刪除。圖書概覽。修改密碼等簡單功能。項(xiàng)目的可行性描述 課堂上老師的例子多是關(guān)于圖書館系統(tǒng),而且上學(xué)期的數(shù)據(jù)庫做的也是相關(guān)內(nèi)容,因而對該系統(tǒng)相對比較熟悉。二、需求分析2.1 系統(tǒng)概述2.2 系統(tǒng)運(yùn)行環(huán)境運(yùn)行本軟件所要求的硬設(shè)備的最小配置:內(nèi)存:512M硬盤:80G說明為運(yùn)行本軟件所需要的支持軟件,如:1.操作系統(tǒng)的名稱windows、版本號XP;2 程序開發(fā)的IDE: Elipse3.數(shù)據(jù)庫管理系統(tǒng):Access。功能需求描述 本課題根據(jù)學(xué)生圖書管理綜合分析,便出于方便功能管理考慮,將學(xué)生圖書管理系統(tǒng)的功能總結(jié)
4、起來,其需要實(shí)現(xiàn)以下幾個方面功能。系統(tǒng)共有4個功能模塊:圖書入庫、圖書查詢、圖書刪除、圖書概覽、修改密碼。支持一系列關(guān)于圖書管理方面的簡單操作,諸如查詢、刪除、添加、修改密碼等。三、總體設(shè)計(jì)開發(fā)和設(shè)計(jì)的總體思想實(shí)現(xiàn)圖書管理的基本功能系統(tǒng)模塊結(jié)構(gòu)圖 圖書刪除圖書概覽修改密碼圖書查詢圖書入庫系統(tǒng)開始判斷成功判斷輸入密碼失敗退出退出33模塊設(shè)計(jì)圖書入庫、圖書查詢、圖書刪除、圖書概覽、修改密碼34系統(tǒng)流程描述首先是輸入判斷,相當(dāng)于在登陸模塊,要求用戶輸入用戶名和密碼;然后判斷,如果判斷失敗退出系統(tǒng),否則進(jìn)入圖書管理系統(tǒng)的主界面。進(jìn)入主界面后,用戶要選擇所需執(zhí)行的功能,即通過鼠標(biāo)點(diǎn)擊相應(yīng)項(xiàng),來完成所需操
5、作。3.5 數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)圖書名圖書號單價(jià)作者出版社入庫時(shí)間表book表user用戶名密碼數(shù)據(jù)庫表在圖書管理系統(tǒng)中,共設(shè)計(jì)2張表。本系統(tǒng)使用Access來創(chuàng)建數(shù)據(jù)表。字段名稱數(shù)據(jù)類型圖書名文本圖書號文本(主鍵)單價(jià)文本作者文本出版社文本入庫時(shí)間文本字段名稱數(shù)據(jù)類型用戶名文本(主鍵)密碼文本四、 詳細(xì)設(shè)計(jì)41主界面模塊42模塊設(shè)計(jì)同上43代碼部分4.4 各主要模塊介紹源程序(4.3/4.4均如下)程序代碼1登陸界面:程序名import java.awt.event.*;ing.*;import java.awt.*;import java.awt.Container;import java.ut
6、il.*;import java.sql.*; class Login extends JFrame implements ActionListener Container cp=null; JFrame f=null; JButton j1,j2; JTextField t1; JPasswordField t2; JLabel jlable1,jlable2; Color c; JPanel jp1,jp2; Login() f=new JFrame("小型圖書管理系統(tǒng)");j1=new JButton("確定");j2=new JButton(&q
7、uot;取消");cp=f.getContentPane();jlable1=new JLabel(" 輸入用戶名");jlable2=new JLabel(" 用戶密碼"); jp1=new JPanel();jp2=new JPanel();t1=new JTextField(18);t2=new JPasswordField(18); jp1.add(jlable1); jp1.add(t1); jp1.add(jlable2);jp1.add(t2); JLabel JL=new JLabel("<html><
8、;font color=#CC00FF size='7'><i>歡迎登陸</i></font>",SwingConstants.CENTER); cp.add(JL,"North");jp2.add(j1);(j2); cp.add(jp1,"Center"); cp.add("South",jp2);jp1.setBackground(new Color(255,153,255); Toolkit kit=Toolkit.getDefaultToolkit();Di
9、mension screen=kit.getScreenSize();int x=screen.width;/*取得顯示器窗口的寬度*/int y=screen.height;/*取得顯示器窗口的高度*/setSize(x,y); /*讓系統(tǒng)窗口平鋪整個顯示器窗口*/ f.setSize(300,300); int xcenter=(x-300)/2; int ycenter=(y-300)/2; f.setLocation(xcenter,ycenter);/*顯示在窗口中央*/ f.setVisible(true); /- j1.addActionListener(this);/注冊事件監(jiān)
10、聽器 j2.addActionListener(this); f.addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent e)System.exit(0);); public void confirm()/驗(yàn)證用戶和密碼是否存在 tryClass.forName("sun.jdbc.odbc.JdbcOdbcDriver"); catch(ClassNotFoundException e)System.out.println("加載驅(qū)動程序失敗!");trySt
11、ring url = "jdbc:odbc:driver=Microsoft Access Driver (*.mdb);DBQ=Book.mdb"/直接使用當(dāng)前類目錄下的數(shù)據(jù)庫文件Connection con=DriverManager.getConnection(url);Statement sql=con.createStatement();String uname=t1.getText().trim();String Mima=t2.getText().trim();String queryMima="select * from user where 用戶
12、名='"+uname+"' and 密碼='"+Mima+"'"ResultSet rs=sql.executeQuery(queryMima); if(rs.next()new Book(uname);f.hide(); con.close(); elseJOptionPane.showMessageDialog(null,"該用戶不存在","提示!", ON); t1.setText("");t2.setText(""); cat
13、ch(SQLException g)System.out.println("E Code"+g.getErrorCode();System.out.println("E M"+g.getMessage(); public void actionPerformed(ActionEvent e) String cmd=e.getActionCommand(); if(cmd.equals("確定") confirm(); else if(cmd.equals("取消") f.dispose(); public stat
14、ic void main(String arg) Login a=new Login(); 2圖書概覽:程序名import java.awt.event.*;import javax.swing.*;import java.awt.*;import java.awt.Container;import java.util.*;import java.sql.*;class BookBrower implements ActionListener JFrame f;Container cp;JPanel jpS,jpanelWest;JButton jbt1,jbt2;/按鈕,查詢、取消、修改JL
15、abel label,L;/標(biāo)簽 /定義文本框JTable table;/用來接收數(shù)據(jù)庫中返回的信息 Object columnName="圖書名","圖書號","單價(jià)","作者","出版社","入庫時(shí)間" Object ar =new Object806;String sno;String count="xx" BookBrower() f=new JFrame();cp=f.getContentPane(); / 初始化面板、按鈕、標(biāo)簽、文本框jpS=
16、new JPanel(); jpanelWest=new JPanel();/-jbt1=new JButton("確定"); jbt2=new JButton("返回"); /-label=new JLabel("<html><font color=#CC00FF size='4'>圖書概覽</font>",SwingConstants.CENTER);label.setForeground(Color.blue);L=new JLabel("書庫現(xiàn)在共有圖書"
17、+count+"本");/- table=new JTable(ar,columnName);/ar存放表中的數(shù)據(jù),columnname表示列名JScrollPane scrollpane = new JScrollPane(table);/-/布局,添加控件jpS.add(jbt1);jpS.add(jbt2);JPanel jpanel=new JPanel();jpanel.add(label);JPanel pp4=new JPanel(); JPanel jpE=new JPanel();cp.add(jpanel,"North");JPane
18、l jp=new JPanel();/jp.add(scrollpane);JPanel p=new JPanel();/用來放兩個表p.setLayout(new BorderLayout();p.add(L,"North");p.add(scrollpane); cp.add(pp4,"West");cp.add(p,"Center"); cp.add(jpS,"South"); cp.add(jpE,"East");/- Toolkit kit=Toolkit.getDefaultTool
19、kit();Dimension screen=kit.getScreenSize();int x=screen.width;/*取得顯示器窗口的寬度*/int y=screen.height;/*取得顯示器窗口的高度*/ f.setSize(400,330); int xcenter=(x-350)/2; int ycenter=(y-330)/2; f.setLocation(xcenter,ycenter);/*顯示在窗口中央*/ f.setVisible(true); /- jbt1.addActionListener(this);/注冊監(jiān)聽器 jbt2.addActionListene
20、r(this); /* f.addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent e)System.exit(0););*/-int i=0; public void showRecord() while(i>=0)ari0=""ari1=""ari2=""ari3=""ari4=""ari5=""i-;i=0; tryClass.forName("sun.jdbc
21、.odbc.JdbcOdbcDriver"); catch(ClassNotFoundException e)System.out.println("加載驅(qū)動程序失敗!");try String url = "jdbc:odbc:driver=Microsoft Access Driver (*.mdb);DBQ=Book.mdb"/直接使用當(dāng)前類目錄下的數(shù)據(jù)庫文件 Connection con=DriverManager.getConnection(url); String s="select * from book "t
22、atement(); ResultSet rs=sql.executeQuery(s); while(rs.next() String bname=rs.getString(1);String bno=rs.getString(2);String price=rs.getString(3);String writer=rs.getString(4);String publish=rs.getString(5);String indate=rs.getString(6);ari0=bname;ari1=bno;ari2=price;ari3=writer;ari4=publish;ari5=in
23、date;i+; count=""+i+""L.setText("書庫現(xiàn)在共有圖書"+count+"本");f.repaint(); con.close(); catch(SQLException g) System.out.println("E Code"+g.getErrorCode(); System.out.println("E M"+g.getMessage(); public void actionPerformed(ActionEvent e) String c
24、md=e.getActionCommand(); if(cmd.equals("確定") f.hide(); if(cmd.equals("返回") f.hide(); public static void main(String arg) BookBrower a=new BookBrower(); a.showRecord();3圖書查詢:程序名import java.awt.event.*;import javax.swing.*;import java.awt.*;import java.awt.Container;import java.uti
25、l.*;import java.sql.*;class QueryBook implements ActionListener JFrame f3;Container cp;JPanel jp1,jp2,jp3,jp4,jp,jpanelWest;JButton jbt1,jbt2;/按鈕,確定、取消JLabel label;/標(biāo)簽:請輸入圖書號JTextField tf,tf1,tf2,tf3,tf4,tf5,tf6; /定義文本框JLabel label1,label2,label3,label4; QueryBook() f3=new JFrame();cp=f3.getContentP
26、ane(); / 初始化面板、按鈕、標(biāo)簽、文本框jp1=new JPanel(); jp2=new JPanel();jp3=new JPanel();jp4=new JPanel();jpanelWest=new JPanel();jp=new JPanel();/-jbt1=new JButton("確定"); jbt2=new JButton("取消");/-label=new JLabel("<html><font color=#CC00FF size='4'>請輸入圖書號:</font&g
27、t;",SwingConstants.CENTER);label.setForeground(Color.blue);tf=new JTextField(20); /-tf1=new JTextField(20);tf2=new JTextField(20);tf3=new JTextField(20);tf4=new JTextField(20);tf5=new JTextField(20); tf6=new JTextField(20);/-/布局,添加控件JPanel jpanel=new JPanel();jpanel.add(label);jpanel.add(tf);JP
28、anel pp4=new JPanel(); JPanel jpane4=new JPanel();cp.add(jpanel,"North");JPanel pp2=new JPanel(new GridLayout(6,1);JPanel pp3=new JPanel();pp4.setLayout(new GridLayout(6,1);(new JLabel("圖書名",SwingConstants.CENTER);pp2.add(tf1);pp4.add(new JLabel("圖書號",SwingConstants.CEN
29、TER);pp2.add(tf2);pp4.add(new JLabel("單 價(jià)",SwingConstants.CENTER);pp2.add(tf3);pp4.add(new JLabel("作 者",SwingConstants.CENTER);pp2.add(tf4);pp4.add(new JLabel("出版社",SwingConstants.CENTER);pp2.add(tf5);pp4.add(new JLabel("入庫時(shí)間",SwingConstants.CENTER);pp2.add(tf
30、6);pp3.add(jbt1); pp3.add(jbt2); cp.add(pp4,"West");cp.add(pp2,"Center"); cp.add(pp3,"South"); cp.add(jpane4,"East");/- Toolkit kit=Toolkit.getDefaultToolkit();Dimension screen=kit.getScreenSize();int x=screen.width;/*取得顯示器窗口的寬度*/int y=screen.height;/*取得顯示器窗口的
31、高度*/f3.setSize(350,330); int xcenter=(x-350)/2; int ycenter=(y-330)/2; f3.setLocation(xcenter,ycenter);/*顯示在窗口中央*/ f3.setVisible(true); /- jbt1.addActionListener(this);/注冊監(jiān)聽器 jbt2.addActionListener(this); /*f3.addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent e)System.exit(0
32、););*/-public void showRecord() tryClass.forName("sun.jdbc.odbc.JdbcOdbcDriver"); catch(ClassNotFoundException e)System.out.println("加載驅(qū)動程序失敗!");tryString url = "jdbc:odbc:driver=Microsoft Access Driver (*.mdb);DBQ=Book.mdb"/直接使用當(dāng)前類目錄下的數(shù)據(jù)庫文件Connection con=DriverManager.
33、getConnection(url);Statement sql;String ql=tf.getText().trim();String s="select * from book where 圖書號 ='"+ql +"'" sql=con.createStatement(); ResultSet rs=sql.executeQuery(s); if(rs.next() String bname=rs.getString(1);String bno=rs.getString(2);String price=rs.getString(3)
34、;String writer=rs.getString(4);String publish=rs.getString(5);String indate=rs.getString(6);tf1.setText(bname);tf2.setText(bno);tf3.setText(price);tf4.setText(writer);tf5.setText(publish);tf6.setText(indate); else JOptionPane.showMessageDialog(null,"您輸入的圖書號不存在,請重新輸入", "輸入錯誤", JOp
35、tionPane.YES_NO_OPTION); con.close(); catch(SQLException g)System.out.println("E Code"+g.getErrorCode();System.out.println("E M"+g.getMessage(); e(false); tf2.setEditable(false); tf3.setEditable(false); tf4.setEditable(false); tf5.setEditable(false); tf6.setEditable(false);public
36、 void actionPerformed(ActionEvent e) String cmd=e.getActionCommand(); if(cmd.equals("確定") showRecord();tf.setText(""); else if(cmd.equals("取消") f3.hide(); public static void main(String arg) QueryBook a=new QueryBook();4圖書刪除:程序名import java.awt.event.*;import javax.swing
37、.*;import java.awt.*;import java.awt.Container;import java.util.*;import java.sql.*;class RemoveBook implements ActionListener JFrame f;Container cp;JPanel jpS,jpanelWest;JButton jbt1,jbt2,jbt3;/按鈕,查詢、取消、修改JLabel label,L;/標(biāo)簽:請輸入學(xué)號JTextField tf; /定義文本框JTable table;/用來接收數(shù)據(jù)庫中返回的信息 Object columnName=&qu
38、ot;圖書名","圖書號","單價(jià)","作者","出版社","入庫時(shí)間" Object ar =new Object806;String sno;String count="xx" RemoveBook() f=new JFrame();cp=f.getContentPane(); / 初始化面板、按鈕、標(biāo)簽、文本框jpS=new JPanel(); jpanelWest=new JPanel();/-jbt1=new JButton("查詢")
39、; jbt2=new JButton("取消"); jbt3=new JButton("刪除");/-label=new JLabel("<html><font color=#CC00FF size='4'>請輸入要刪除的圖書名:</font>",SwingConstants.CENTER);label.setForeground(Color.blue);L=new JLabel("該種圖書共有"+count+"本");/- table=new
40、 JTable(ar,columnName);/ar存放表中的數(shù)據(jù),columnname表示列名JScrollPane scrollpane = new JScrollPane(table);/-tf=new JTextField(18); /-/-/布局,添加控件jpS.add(jbt1);jpS.add(jbt2);jpS.add(jbt3);JPanel jpanel=new JPanel();jpanel.add(label);jpanel.add(tf);JPanel pp4=new JPanel(); JPanel jpE=new JPanel();cp.add(jpanel,&q
41、uot;North");JPanel jp=new JPanel();/jp.add(scrollpane);JPanel p=new JPanel();/用來放兩個表p.setLayout(new BorderLayout();p.add(L,"North");p.add(scrollpane); cp.add(pp4,"West");cp.add(p,"Center"); cp.add(jpS,"South"); cp.add(jpE,"East");/- Toolkit kit=
42、Toolkit.getDefaultToolkit();Dimension screen=kit.getScreenSize();int x=screen.width;/*取得顯示器窗口的寬度*/int y=screen.height;/*取得顯示器窗口的高度*/f.setSize(400,330); int xcenter=(x-350)/2; int ycenter=(y-330)/2; f.setLocation(xcenter,ycenter);/*顯示在窗口中央*/ f.setVisible(true); /- jbt1.addActionListener(this);/注冊監(jiān)聽器
43、jbt2.addActionListener(this); jbt3.addActionListener(this); /*f.addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent e)System.exit(0););*/-int i=0; public void showRecord(String ql) while(i>=0)ari0=""ari1=""ari2=""ari3=""ari4="&qu
44、ot;ari5=""i-;i=0; tryClass.forName("sun.jdbc.odbc.JdbcOdbcDriver"); catch(ClassNotFoundException e)System.out.println("加載驅(qū)動程序失敗!");try String url = "jdbc:odbc:driver=Microsoft Access Driver (*.mdb);DBQ=Book.mdb"/直接使用當(dāng)前類目錄下的數(shù)據(jù)庫文件 Connection con=DriverManager.ge
45、tConnection(url); Statement sql; String s="select * from book where 圖書名 ='"+ql +"'" sql=con.createStatement(); ResultSet rs=sql.executeQuery(s); while(rs.next() String bname=rs.getString(1);String bno=rs.getString(2);String price=rs.getString(3);String writer=rs.getString
46、(4);String publish=rs.getString(5);String indate=rs.getString(6);ari0=bname;ari1=bno;ari2=price;ari3=writer;ari4=publish;ari5=indate;i+; count=""+i+""L.setText("該種圖書共有"+count+"本");f.repaint(); con.close();System.out.println(ar01); catch(SQLException g) System.
47、out.println("E Code"+g.getErrorCode(); System.out.println("E M"+g.getMessage(); public void deleteRecord(int index) tryClass.forName("sun.jdbc.odbc.JdbcOdbcDriver"); catch(ClassNotFoundException e)System.out.println("加載驅(qū)動程序失敗!");tryString url = "jdbc:odbc:driver=Microsoft Access Driver (*.mdb);DBQ=Book.mdb"/直接使用當(dāng)前類目錄下的數(shù)據(jù)庫文件Connection con=DriverManager.getConnection(url);Statement sql;String ql=(String)(arindex1);String s="delete
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 橡膠鞋行業(yè)標(biāo)準(zhǔn)制定與質(zhì)量監(jiān)管-洞察分析
- 單位補(bǔ)繳社保承諾書(6篇)
- 舞蹈教育信息化探索-洞察分析
- 虛擬現(xiàn)實(shí)渲染技術(shù)-洞察分析
- 保險(xiǎn)金融行業(yè)理賠流程心得
- 兒童家具的個性化定制化設(shè)計(jì)趨勢
- 辦公環(huán)境中的智能家居安全解決方案
- 從零到一創(chuàng)新型實(shí)驗(yàn)室的安全教育培訓(xùn)全流程解析
- 創(chuàng)新驅(qū)動的科技教育模式探索
- 2025建筑工程公司集體合同集體合同適用于分公司
- 《園林政策與法規(guī)》課件
- 揚(yáng)塵防治(治理)監(jiān)理實(shí)施細(xì)則(范本)
- 讀書分享《終身成長》課件
- GB/T 44843-2024在用自動扶梯和自動人行道安全評估規(guī)范
- 廣東省廣州市2023-2024學(xué)年六年級上學(xué)期語文期末試卷(含答案)
- 宮頸癌護(hù)理查房-5
- 律師事務(wù)所整體轉(zhuǎn)讓協(xié)議書范文
- 照明設(shè)備課件教學(xué)課件
- 2023-2024學(xué)年全國初中七年級下地理人教版期中考試試卷(含答案解析)
- 債券入門基礎(chǔ)知識單選題100道及答案解析
- 堆載預(yù)壓施工方案
評論
0/150
提交評論