數(shù)據(jù)庫課程設(shè)計(jì):小型圖書管理系統(tǒng)_第1頁
數(shù)據(jù)庫課程設(shè)計(jì):小型圖書管理系統(tǒng)_第2頁
數(shù)據(jù)庫課程設(shè)計(jì):小型圖書管理系統(tǒng)_第3頁
數(shù)據(jù)庫課程設(shè)計(jì):小型圖書管理系統(tǒng)_第4頁
數(shù)據(jù)庫課程設(shè)計(jì):小型圖書管理系統(tǒng)_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、前言本系統(tǒng)是小型圖書管理系統(tǒng),專為個(gè)人設(shè)計(jì)。本系統(tǒng)啟動(dòng)后需要登陸,然后進(jìn)入主界在這個(gè)界面我們可以選擇所需要的功能模塊來完成所要執(zhí)行的功能。系統(tǒng)共有4個(gè)功能模塊:圖書入庫、圖書查詢、圖書刪除、圖書概覽、修改密碼。支持一系列關(guān)于圖書管理方面的簡單操作,諸如查詢、刪除、添加、修改密碼等。系統(tǒng)流程圖退出圖書刪除圖書概覽修改密碼圖書查詢圖書入庫系統(tǒng)開始失敗退出判斷成功判斷輸入密碼說明:首先是輸入判斷,相當(dāng)于在登陸模塊,要求用戶輸入用戶名和密碼;然后判斷,如果判斷失敗退出系統(tǒng),否則進(jìn)入圖書管理系統(tǒng)的主界面。進(jìn)入主界面后,用戶要選擇所需執(zhí)行的功能,即通過鼠標(biāo)點(diǎn)擊相應(yīng)項(xiàng),來完成所需操作。圖書名圖書號(hào)單價(jià)作者出

2、版社入庫時(shí)間表book表user用戶名密碼數(shù)據(jù)庫表 數(shù)據(jù)庫設(shè)計(jì)在圖書管理系統(tǒng)中,共設(shè)計(jì)2張表。本系統(tǒng)使用Access來創(chuàng)建數(shù)據(jù)表。1.表book字段名稱數(shù)據(jù)類型圖書名文本圖書號(hào)文本(主鍵)單價(jià)文本作者文本出版社文本入庫時(shí)間文本2.表user字段名稱數(shù)據(jù)類型用戶名文本(主鍵)密碼文本系統(tǒng)源碼程序代碼1登陸界面:程序名Login.javaimport java.awt.event.*;import javax.swing.*;import java.awt.*;import java.awt.Container;import java.util.*;import java.sql.*; class

3、 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(取消);cp=f.getContentPane();jlable1=new JLabel( 輸入用戶名);jl

4、able2=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(歡迎登陸,SwingConstants.CENTER); cp.add(JL,North);jp2.add(j1);jp2.add(j2); cp.add(jp1,Center); cp.add(South,jp2);j

5、p1.setBackground(new Color(255,153,255); Toolkit kit=Toolkit.getDefaultToolkit();Dimension screen=kit.getScreenSize();int x=screen.width;/*取得顯示器窗口的寬度*/int y=screen.height;/*取得顯示器窗口的高度*/setSize(x,y); /*讓系統(tǒng)窗口平鋪整個(gè)顯示器窗口*/ f.setSize(300,300); int xcenter=(x-300)/2; int ycenter=(y-300)/2; f.setLocation(xc

6、enter,ycenter);/*顯示在窗口中央*/ f.setVisible(true); /- j1.addActionListener(this);/注冊事件監(jiān)聽器 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(C

7、lassNotFoundException e)System.out.println(加載驅(qū)動(dòng)程序失敗!);tryString 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();St

8、ring queryMima=select * from user where 用戶名=+uname+ and 密碼=+Mima+;ResultSet rs=sql.executeQuery(queryMima); if(rs.next()new Book(uname);f.hide(); con.close(); elseJOptionPane.showMessageDialog(null,該用戶不存在,提示!, JOptionPane.YES_NO_OPTION); t1.setText();t2.setText(); catch(SQLException g)System.out.pri

9、ntln(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 static void main(String arg) Login a=new Login(); 2圖書概覽:程序名BookBrower.javaimport jav

10、a.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;/按鈕,查詢、取消、修改JLabel label,L;/標(biāo)簽 /定義文本框JTable table;/用來接收數(shù)據(jù)庫中返回的信息 Object columnN

11、ame=圖書名,圖書號(hào),單價(jià),作者,出版社,入庫時(shí)間; Object ar =new Object806;String sno;String count=xx; BookBrower() f=new JFrame();cp=f.getContentPane(); / 初始化面板、按鈕、標(biāo)簽、文本框jpS=new JPanel(); jpanelWest=new JPanel();/-jbt1=new JButton(確定); jbt2=new JButton(返回); /-label=new JLabel(圖書概覽,SwingConstants.CENTER);label.setForegro

12、und(Color.blue);L=new JLabel(書庫現(xiàn)在共有圖書+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

13、,North);JPanel jp=new JPanel();/jp.add(scrollpane);JPanel p=new JPanel();/用來放兩個(gè)表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.getDefaultToolkit();Dimension screen=kit.getScreenSize();int

14、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.addActionListener(this); /* f.addWindowListener(new WindowAdapt

15、er()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.odbc.JdbcOdbcDriver); catch(ClassNotFoundException e)System.out.println(加載驅(qū)動(dòng)程序失敗!);try String url = jdbc:odbc:driver=Micro

16、soft Access Driver (*.mdb);DBQ=Book.mdb;/直接使用當(dāng)前類目錄下的數(shù)據(jù)庫文件 Connection con=DriverManager.getConnection(url); String s=select * from book ; Statement sql=con.createStatement(); ResultSet rs=sql.executeQuery(s); while(rs.next() String bname=rs.getString(1);String bno=rs.getString(2);String price=rs.getS

17、tring(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=indate;i+; count=+i+;L.setText(書庫現(xiàn)在共有圖書+count+本);f.repaint(); con.close(); catch(SQLException g) System.out.println(E Code+g.getErrorCode()

18、; System.out.println(E M+g.getMessage(); public void actionPerformed(ActionEvent e) String cmd=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圖書查詢:程序名QueryBook.javaimport java.awt.event.

19、*;import javax.swing.*;import java.awt.*;import java.awt.Container;import java.util.*;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)簽:請(qǐng)輸入圖書號(hào)JTextField tf,tf1,tf2,tf3,tf4,tf5,tf6; /定義文本

20、框JLabel label1,label2,label3,label4; QueryBook() f3=new JFrame();cp=f3.getContentPane(); / 初始化面板、按鈕、標(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(請(qǐng)輸入圖書號(hào):,SwingConstant

21、s.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);JPanel pp4=new JPanel();

22、 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);pp4.add(new JLabel(圖書名,SwingConstants.CENTER);pp2.add(tf1);pp4.add(new JLabel(圖書號(hào),SwingConstants.CENTER);pp2.add(tf2);pp4.add(new JLabel(單 價(jià),SwingConst

23、ants.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(tf6);pp3.add(jbt1); pp3.add(jbt2); cp.add(pp4,West);cp.add(pp2,Center); cp.add(pp3,South); cp.add(jpa

24、ne4,East);/- Toolkit kit=Toolkit.getDefaultToolkit();Dimension screen=kit.getScreenSize();int x=screen.width;/*取得顯示器窗口的寬度*/int y=screen.height;/*取得顯示器窗口的高度*/f3.setSize(350,330); int xcenter=(x-350)/2; int ycenter=(y-330)/2; f3.setLocation(xcenter,ycenter);/*顯示在窗口中央*/ f3.setVisible(true); /- jbt1.add

25、ActionListener(this);/注冊監(jiān)聽器 jbt2.addActionListener(this); /*f3.addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent e)System.exit(0););*/-public void showRecord() tryClass.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch(ClassNotFoundException e)System.out.println(加載驅(qū)動(dòng)程序失敗!);tryStr

26、ing url = jdbc:odbc:driver=Microsoft Access Driver (*.mdb);DBQ=Book.mdb;/直接使用當(dāng)前類目錄下的數(shù)據(jù)庫文件Connection con=DriverManager.getConnection(url);Statement sql;String ql=tf.getText().trim();String s=select * from book where 圖書號(hào) =+ql +; sql=con.createStatement(); ResultSet rs=sql.executeQuery(s); if(rs.next()

27、 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);tf1.setText(bname);tf2.setText(bno);tf3.setText(price);tf4.setText(writer);tf5.setText(publish);tf6.setText(indate); else J

28、OptionPane.showMessageDialog(null,您輸入的圖書號(hào)不存在,請(qǐng)重新輸入, 輸入錯(cuò)誤, JOptionPane.YES_NO_OPTION); con.close(); catch(SQLException g)System.out.println(E Code+g.getErrorCode();System.out.println(E M+g.getMessage(); tf1.setEditable(false); tf2.setEditable(false); tf3.setEditable(false); tf4.setEditable(false); tf

29、5.setEditable(false); tf6.setEditable(false);public 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圖書刪除:程序名RemoveBook.javaimport java.

30、awt.event.*;import javax.swing.*;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)簽:請(qǐng)輸入學(xué)號(hào)JTextField tf; /定義文本框JTable table;/用來接收數(shù)

31、據(jù)庫中返回的信息 Object columnName=圖書名,圖書號(hào),單價(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(查詢); jbt2=new JButton(取消); jbt3=new JButton(刪除);/-label=new JLabel(

32、請(qǐng)輸入要?jiǎng)h除的圖書名:,SwingConstants.CENTER);label.setForeground(Color.blue);L=new JLabel(該種圖書共有+count+本);/- table=new 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

33、 JPanel();jpanel.add(label);jpanel.add(tf);JPanel pp4=new JPanel(); JPanel jpE=new JPanel();cp.add(jpanel,North);JPanel jp=new JPanel();/jp.add(scrollpane);JPanel p=new JPanel();/用來放兩個(gè)表p.setLayout(new BorderLayout();p.add(L,North);p.add(scrollpane); cp.add(pp4,West);cp.add(p,Center); cp.add(jpS,Sout

34、h); cp.add(jpE,East);/- Toolkit kit=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); /-

35、jbt1.addActionListener(this);/注冊監(jiān)聽器 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=;ari5=;i-;i=0; tryCla

36、ss.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch(ClassNotFoundException e)System.out.println(加載驅(qū)動(dòng)程序失敗!);try String url = jdbc:odbc:driver=Microsoft Access Driver (*.mdb);DBQ=Book.mdb;/直接使用當(dāng)前類目錄下的數(shù)據(jù)庫文件 Connection con=DriverManager.getConnection(url); Statement sql; String s=select * from book where 圖書

37、名 =+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(4);String publish=rs.getString(5);String indate=rs.getString(6);ari0=bname;ari1=bno;ari2=price;ari3=w

38、riter;ari4=publish;ari5=indate;i+; count=+i+;L.setText(該種圖書共有+count+本);f.repaint(); con.close();System.out.println(ar01); catch(SQLException g) System.out.println(E Code+g.getErrorCode(); System.out.println(E M+g.getMessage(); public void deleteRecord(int index) tryClass.forName(sun.jdbc.odbc.JdbcOd

39、bcDriver); catch(ClassNotFoundException e)System.out.println(加載驅(qū)動(dòng)程序失敗!);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 * from book where 圖書號(hào) =+ql

40、 +; sql=con.createStatement(); int del=sql.executeUpdate(s); if(del=1) JOptionPane.showMessageDialog(null,刪除成功!, 信息, JOptionPane.YES_NO_OPTION); con.close();f.repaint(); catch(SQLException g)System.out.println(E Code+g.getErrorCode();System.out.println(E M+g.getMessage(); public void actionPerformed

41、(ActionEvent e) String remember=;String ql=; String cmd=e.getActionCommand(); if(cmd.equals(查詢) ql=tf.getText().trim();remember=ql; showRecord(ql); if(cmd.equals(刪除) int index=table.getSelectedRow(); if( index=-1) JOptionPane.showMessageDialog(null,請(qǐng)選定要?jiǎng)h除的表格行, 輸入錯(cuò)誤, JOptionPane.YES_NO_OPTION); else deleteRecord(index); /showRecord(remember); if(cmd.equals(取消) f.hide(); public static void main(String arg) RemoveBook a=new RemoveBook();5圖書入庫:程序名Bo

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論