圖書管理系統(tǒng)需求分析報告附有java代碼_第1頁
圖書管理系統(tǒng)需求分析報告附有java代碼_第2頁
圖書管理系統(tǒng)需求分析報告附有java代碼_第3頁
圖書管理系統(tǒng)需求分析報告附有java代碼_第4頁
圖書管理系統(tǒng)需求分析報告附有java代碼_第5頁
已閱讀5頁,還剩134頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 目錄1 概述 1.編寫目的 2.項目背景 3.定義 4.參考資料 5.開發(fā)環(huán)境2 需求分析 1.問題提出 2.系統(tǒng)的業(yè)務功能分析 3.需完成的功能3 系統(tǒng)需求說明 1.對功能的規(guī)定 2.對性能的規(guī)定 3.輸入輸出要求4 新系統(tǒng)的邏輯模型 1.圖書館組織機構(gòu)分析 2.系統(tǒng)功能結(jié)構(gòu)圖 3.業(yè)務流程圖 4.數(shù)據(jù)流程圖 5.數(shù)據(jù)字典一概述1、編寫目的 按照關(guān)系型數(shù)據(jù)庫的基本原理,綜合運用所學的知識,以小組為單位,設計開發(fā)一個小型的圖書管理系統(tǒng)。通過對一個實際問題的分析、設計與實現(xiàn),將原理與應用相結(jié)合,使學生學會如何把書本上學到的知識用于解決實際問題,培養(yǎng)學生的動手能力;另一方面,使學生能深入理解和靈

2、活掌握教學內(nèi)容2、項目背景數(shù)據(jù)處理手工操作,工作量大,出錯率高,出錯后不易更改。圖書館采取手工方式對圖書借閱情況進行人工管理,由于信息比較多,圖書借閱信息的管理工作混亂而又復雜;一般借閱情況是記錄在借書證上,圖書的數(shù)目和內(nèi)容記錄在文件中,圖書館的工作人員和管理員也只是當時對它比較清楚,時間一長,如再要進行查詢,就得在眾多的資料中翻閱、查找了。造成查詢費時、費力。如要對很長時間以前的圖書進行更改就更加困難了。 。 a.待開發(fā)的軟件系統(tǒng)的名稱是圖書管理系統(tǒng) b.本軟件適用于教育界,他是比較完善的系統(tǒng)管理軟件,對圖書館的書籍、讀者資料、借還書等可以進行方便的管理。 C.開發(fā)員:蔚奇秀,曹?;?,李小峰

3、,祁樂3、定義數(shù)據(jù)流程圖(DFD):為描述軟件系統(tǒng)中的信息流提供了一個圖形方法。箭頭代表數(shù)據(jù)流,方框代表數(shù)據(jù)的源點或終點,圓框代表數(shù)據(jù)流的交換,雙杠代表數(shù)據(jù)存儲的地方。數(shù)據(jù)字典是對數(shù)據(jù)流程圖中的數(shù)據(jù),變換等進行精確的定義。4、參考資料 1薩師煊、王珊數(shù)據(jù)庫系統(tǒng)概論 高等教育2000.2 2俞盤祥、沈金發(fā)數(shù)據(jù)庫系統(tǒng)原理清華大學2000.6 3王珊、陳紅數(shù)據(jù)庫系統(tǒng)原理教程清華大學1998.7 4施伯樂、丁寶康數(shù)據(jù)庫系統(tǒng)教程高等教育1999.125、 開發(fā)環(huán)境 WindowXP,/7 Microsoft Visual C+, SQLSerevr2000.一、 需求分析1、問題的提出: 圖書館作為一種

4、信息資源的集散地,圖書和用戶借閱資料繁多,包含很多的信息數(shù)據(jù)的管理,現(xiàn)今,有很多的圖書館都是初步開始使用,甚至尚未使用計算機進行信息管理。根據(jù)調(diào)查得知,他們以前對信息管理的主要方式是基于文本、表格等紙介質(zhì)的手工處理,對于圖書借閱情況(如借書天數(shù)、超過限定借書時間的天數(shù))的統(tǒng)計和核實等往往采用對借書卡的人工檢查進行,對借閱者的借閱權(quán)限、以及借閱天數(shù)等用人工計算、手抄進行。數(shù)據(jù)信息處理工作量大,容易出錯;由于數(shù)據(jù)繁多,容易丟失,且不易查找??偟膩碚f,缺乏系統(tǒng),規(guī)X的信息管理手段。有必要建立一個圖書管理系統(tǒng),使圖書管理工作規(guī)X化,系統(tǒng)化,程序化,避免圖書管理的隨意性,提高信息處理的速度和準確性,能夠

5、及時、準確、有效的查詢和修改圖書情況。2、系統(tǒng)的業(yè)務功能分析: 1) 建立讀者類,實現(xiàn)對讀者編號、XX、所在單位等信息的描述。 2) 建立書籍類,實現(xiàn)對圖書的編號、名稱、作者、出版日期、價格、采購日 期、單價、數(shù)量、金額、版次、分類號、ISBN等信息的描述。 3) 建立用于記錄借書情況的類,實現(xiàn)輸入讀者編號和書籍編號后成功借書的描述。 系統(tǒng)的業(yè)務流程分析:3、需完成的功能1) 圖書基本情況的錄入、修改、刪除等基本操作。2) 辦理借書卡模塊。3) 實現(xiàn)借書功能。4) 實現(xiàn)還書功能。5) 能方便的對圖書進行查詢。6) 對超期的情況能自動給出提示信息。7) 具有數(shù)據(jù)備份和數(shù)據(jù)恢復功能。 二、 系統(tǒng)需

6、求說明 1、對功能的規(guī)定經(jīng)過以上詳細的用戶調(diào)查,在現(xiàn)行業(yè)務流程和數(shù)據(jù)分析的基礎上,基本可以確定系統(tǒng)設計必須達到的目標。 以下是圖書管理系統(tǒng)必須具備的功能:1.圖書基本情況的錄用:對于購進的新書,系統(tǒng)必須具備圖書信息資料的錄入功能。當圖書資料發(fā)生變化,如圖書丟失或有錯誤信息輸入時,則應能夠及時對數(shù)據(jù)進行修改和補充。2.辦理借書卡模塊:系統(tǒng)的主要功能之一,供本校學生借閱圖書。3.實現(xiàn)借書功能:可以方便學生們借書。 4.實現(xiàn)還書功能:歸還圖書,并進行登記。5. 能方便的對圖書進行查閱:可以快速簡單的對圖書進行查找一些信息。6. 對超期的情況能自動給出提示信息:告訴那些同學說借書的時間已超期。7. 具

7、有數(shù)據(jù)備份和數(shù)據(jù)恢復功能:可以在丟失后再找回。2、對性能的規(guī)定為了保證系統(tǒng)能夠長期、安全、穩(wěn)定、可靠、高效的運行,圖書管理系統(tǒng)應該滿足以下的性能需求:(1)、系統(tǒng)處理的準確性和及時性系統(tǒng)處理的準確性和及時性是系統(tǒng)的必要性能。在系統(tǒng)設計和開發(fā)過程中,要充分考慮系統(tǒng)當前和將來可能承受的工作量,使系統(tǒng)的處理能力和響應時間能夠滿足學校對信息處理的需求。(2)、系統(tǒng)的開放性和系統(tǒng)的可擴充性圖書管理系統(tǒng)在開發(fā)過程中,應該充分考慮以后的可擴充性。例如用戶查詢的需求也會不斷的更新和完善。所有這些,都要求系統(tǒng)提供足夠的手段進行功能的調(diào)整和擴充。而要實現(xiàn)這一點,應通過系統(tǒng)的開放性來完成,既系統(tǒng)應是一個開放系統(tǒng),只

8、要符合一定的規(guī)X,可以簡單的加入和減少系統(tǒng)的模塊,配置系統(tǒng)的硬件。通過軟件的修補、替換完成系統(tǒng)的升級和更新?lián)Q代。(3)、系統(tǒng)的易用性和易維護性圖書管理系統(tǒng)是直接面對使用人員的,而使用人員往往對計算機并不時非常熟悉。這就要求系統(tǒng)能夠提供良好的用戶接口,易用的人機交互界面。要實現(xiàn)這一點,就要求系統(tǒng)應該盡量使用用戶熟悉的術(shù)語和中文信息的界面;針對用戶可能出現(xiàn)的使用問題,要提供足夠的在線幫助,縮短用戶對系統(tǒng)熟悉的過程。(4)、系統(tǒng)的標準性系統(tǒng)在設計開發(fā)使用過程中都要涉及到很多計算機硬件、軟件。所有這些都要符合主流國際、國家和行業(yè)標準。(5)、系統(tǒng)的先進性目前計算系統(tǒng)的技術(shù)發(fā)展相當快,做為圖書管理系統(tǒng)工

9、程,在系統(tǒng)的生命周期盡量做到系統(tǒng)的先進,充分完成企業(yè)信息處理的要求而不至于落后。這一方面通過系統(tǒng)的開放性和可擴充性,不斷改善系統(tǒng)的功能完成。另一方面,在系統(tǒng)設計和開發(fā)的過程中,應在考慮成本的基礎上盡量采用當前主流并先進且有良好發(fā)展前途的產(chǎn)品。(6)、系統(tǒng)的響應速度圖書管理系統(tǒng)系統(tǒng)在日常處理中的響應速度為秒級,達到實時要求,以及時反饋信息。在進行統(tǒng)計分析時,根據(jù)所需數(shù)據(jù)量的不同而從秒級到分鐘級,原則是保證操作人員不會因為速度問題而影響工作效率。3、輸入輸出要求 輸入:鍵盤,鼠標,掃描儀等。  輸出:顯示器,打印機等。三、 新系統(tǒng)的邏輯模型1、圖書館組織機構(gòu)分析 通過對圖書館工作人員的調(diào)

10、查,圖書館主要有4個部門。借閱管理部負責圖書的借閱管理;圖書管理部負責書籍類別標準的制定,類別信息的輸入;書籍類別信息的查詢,修改;書籍信息的輸入;讀者管理部負責主要針對各類讀者信息進行管理;系統(tǒng)管理部負責用戶管理和密碼管理。組織機構(gòu)圖如下:圖書館組織機構(gòu)圖2、系統(tǒng)功能結(jié)構(gòu)圖3、數(shù)據(jù)流程圖 通過對業(yè)務流程圖的細化,可得到系統(tǒng)的分層數(shù)據(jù)流圖。如下圖:頂層數(shù)據(jù)流圖:圖書館管理系統(tǒng)的頂層數(shù)據(jù)圖對頂層數(shù)據(jù)流圖細化、分解可得到圖書管理系統(tǒng)的第一層數(shù)據(jù)流圖,如下圖:圖書館管理系統(tǒng)的第一層數(shù)據(jù)圖對第一層數(shù)據(jù)流圖進一步細化、分解,可以得到第二層數(shù)據(jù)流圖,如下圖:借閱信息管理數(shù)據(jù)流圖四Java代碼 Book.j

11、avaimport java.awt.*;import java.awt.event.*;import javax.swing.*;import java.sql.*;import java.text.*;import java.util.Date;import java.math.*;public class Book implements ActionListenerprivate utton btn1,btn2,btn3,btn4; private JTextField jtfd1,jtfd2,jtfd3,jtfd5,jtfd6, jtfd7,jtfd8,jtfd9,jtfd10; pr

12、ivate JComboBox jcbx; private JTextArea jta; private Connection con; private PreparedStatement pstmt1,pstmt2; private JFrame frame;public Book()JFrame.setDefaultLookAndFeelDecorated(true); frame=new JFrame("圖書入庫"); Container content=frame.getContentPane(); Toolkit tool=frame.getToolkit();

13、Dimension wndsize=tool.getScreenSize(); JLabel lb1=new JLabel("書名:"); JLabel lb2=new JLabel("條形碼:"); JLabel lb3=new JLabel("分類號:"); JLabel lb4=new JLabel("分類名:"); JLabel lb5=new JLabel("排架號:"); JLabel lb6=new JLabel(":"); JLabel lb7=new JLa

14、bel("出版日期:"); JLabel lb8=new JLabel("入庫日期:"); JLabel lb9=new JLabel("價格:"); JLabel lb10=new JLabel(""); JLabel lb11=new JLabel("簡介:"); jtfd1=new JTextField(); jtfd2=new JTextField(); jtfd3=new JTextField(); String kindname="馬克思列寧主義、思想",&quo

15、t;綜合性圖書","哲學","社會科學總論", "政治、法律","軍事","經(jīng)濟","文化、科學、教育、體育","語言文字","文學","天文學、地球科學", "生物科學","醫(yī)藥、衛(wèi)生","農(nóng)業(yè)科學","工業(yè)技術(shù)","藝術(shù)","歷史、地理","數(shù)理化","自

16、然科學總論", "環(huán)境科學","航空航天","交通" jcbx=new JComboBox(kindname); jtfd5=new JTextField(); jtfd6=new JTextField(); jtfd7=new JTextField(); jtfd8=new JTextField(); jtfd9=new JTextField(); jtfd10=new JTextField(); jtfd8.addFocusListener(new FocusHandler(); jta=new JTextArea();

17、 jta.setLineWrap(true); btn1=new utton("添加"); btn2=new utton("刪除"); btn3=new utton("撤消"); btn4=new utton("退出"); btn1.addActionListener(this); btn2.addActionListener(this); btn3.addActionListener(this); btn4.addActionListener(this); JPanel pl1=new JPanel(); JPa

18、nel pl2=new JPanel(); JPanel pl3=new JPanel(); JPanel pl4=new JPanel(); pl1.setLayout(new GridLayout(5,4,6,6); pl1.add(lb1); pl1.add(jtfd1); pl1.add(lb2); pl1.add(jtfd2); pl1.add(lb10); pl1.add(jtfd10); pl1.add(lb3); pl1.add(jtfd3); pl1.add(lb4); pl1.add(jcbx); pl1.add(lb5); pl1.add(jtfd5); pl1.add(

19、lb6); pl1.add(jtfd6); pl1.add(lb7); pl1.add(jtfd7); pl1.add(lb8); pl1.add(jtfd8); pl1.add(lb9); pl1.add(jtfd9); GridBagLayout gridbag=new GridBagLayout(); GridBagConstraints constraints=new GridBagConstraints(); pl2.setLayout(gridbag); constraints.weightx=constraints.weighty=10.0; constraints.fill=c

20、onstraints.BOTH; gridbag.setConstraints(lb11,constraints); constraints.weightx=1; constraints.gridwidth=1; pl2.add(lb11,constraints); gridbag.setConstraints(jta,constraints); constraints.weightx=9; constraints.gridheight=3; constraints.gridwidth=3; constraints.insets=new Insets(10,15,10,20); pl2.add

21、(jta,constraints); GridBagLayout gridbag1=new GridBagLayout(); GridBagConstraints constraints1=new GridBagConstraints(); constraints1.weightx=1.0; constraints1.fill=constraints1.BOTH; pl3.setLayout(gridbag1); /gridbag1.setConstraints(pl1,constraints1); constraints1.weighty=0.8; constraints1.gridwidt

22、h=constraints1.REMAINDER; pl3.add(pl1,constraints1); /gridbag1.setConstraints(pl2,constraints1); constraints1.weighty=0.2; constraints1.gridheight=constraints.REMAINDER; pl3.add(pl2,constraints1); pl4.setLayout(new GridLayout(1,4,6,0); pl4.add(btn1); pl4.add(btn2); pl4.add(btn3); pl4.add(btn4); cont

23、ent.setLayout(new BorderLayout(); content.add(pl3,BorderLayout.CENTER); content.add(pl4,BorderLayout.SOUTH); frame.setBounds(100,100,550,400); frame.setResizable(false); frame.setVisible(true); try String sqlStr1,sqlStr2; sqlStr1="insert into book (bookname,bannercode,kindnumber,kindname,"

24、+ "positionnumber,publishingcompany,publishtime,putintime,price,"+ "state,introduction,author) values(?,?,?,?,?,?,?,?,?,'在架',?,?)" sqlStr2="delete from book where bannercode=?" Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); con=DriverManager.getConnect

25、ion("jdbc:odbc:library"); pstmt1=con.prepareStatement(sqlStr1); pstmt2=con.prepareStatement(sqlStr2); catch(ClassNotFoundException e) catch(SQLException sqle) class FocusHandler implements FocusListener java.util.Date today=new java.util.Date(); DateFormat format=DateFormat.getDateInstance

26、(); String formatted=format.format(today); public void focusGained(FocusEvent e)Object obj=(JTextField)e.getSource(); if(obj=jtfd8) jtfd8.setText(formatted); public void focusLost(FocusEvent e) public void actionPerformed(ActionEvent e) String str1,str2,str3,str4,str5,str6,str7,str8,str9,str10,str11

27、; str1=jtfd1.getText().trim(); str2=jtfd2.getText().trim(); str3=jtfd3.getText().trim(); str4=(String)jcbx.getSelectedItem(); str5=jtfd5.getText().trim(); str6=jtfd6.getText().trim(); str7=jtfd7.getText().trim(); str8=jtfd8.getText().trim(); str9=jtfd9.getText().trim(); str10=jtfd10.getText().trim()

28、; str11=jta.getText().trim(); int result; try Object obj=(utton)e.getSource(); if(obj=btn1) if(str1.equals("")|str2.equals("")|str3.equals("")|str4.equals("")|str5.equals("") JOptionPane.showMessageDialog(frame,"can't be null"); return;

29、 if(str6.equals("")|str7.equals("")|str8.equals("")|str9.equals("")|str10.equals("") JOptionPane.showMessageDialog(frame,"can't be null"); return; java.sql.Date today1,today2; BigDecimal money=new BigDecimal(str9); today1=java.sql.Date.

30、valueOf(str7); today2=java.sql.Date.valueOf(str8); pstmt1.setString(1,str1); pstmt1.setString(2,str2); pstmt1.setString(3,str10); pstmt1.setString(4,str4); pstmt1.setString(5,str5); pstmt1.setString(6,str6); pstmt1.setDate(7,today1); pstmt1.setDate(8,today2); pstmt1.setBigDecimal(9,money); pstmt1.se

31、tString(10,str11); pstmt1.setString(11,str10); result=pstmt1.executeUpdate(); if(result>0) JOptionPane.showMessageDialog(frame,"add successfully!"); jtfd1.setText(""); jtfd2.setText(""); jtfd3.setText(""); jtfd5.setText(""); jtfd6.setText("&q

32、uot;); jtfd7.setText(""); jtfd8.setText(""); jtfd9.setText(""); jtfd10.setText(""); jta.setText(""); else if(obj=btn2) if(str2.equals("") JOptionPane.showMessageDialog(frame,"bannercode can't be null"); return; pstmt2.setStrin

33、g(1,str2); result=pstmt2.executeUpdate(); if(result>0) JOptionPane.showMessageDialog(frame,"Delete successfully!"); else if(obj=btn3) jtfd1.setText(""); jtfd2.setText(""); jtfd3.setText(""); jtfd5.setText(""); jtfd6.setText(""); jtfd7.se

34、tText(""); jtfd8.setText(""); jtfd9.setText(""); jtfd10.setText(""); jta.setText(""); else if(obj=btn4) pstmt1.close(); pstmt2.close(); con.close(); frame.dispose(); catch(SQLException sqle) System.err.println(sqle); public static void main(Stringarg

35、s)new Book();BookInfo.javaimport javax.swing.*;import java.awt.*;import java.awt.event.*;import javax.swing.table.*;import java.util.*;import java.sql.*;import javax.swing.table.AbstractTableModel;public class BookInfo implements ActionListener private JFrame frame; private Statement stmt; private C

36、onnection con; private JTable tableTest; private StringcolumnNames="書名","條形碼","分類號","分類名","排架號","", "出版日期","入庫日期","狀態(tài)","簡介" private ObjectrowData=new Object10010; private utton btn; private JRadioButt

37、on rbtn1,rbtn2; private JTextField jtfd; public BookInfo()frame=new JFrame("圖書信息查詢");Container content=frame.getContentPane(); btn=new utton("查詢"); jtfd=new JTextField(); JPanel pl=new JPanel(); rbtn1=new JRadioButton("書名"); rbtn2=new JRadioButton("條形碼"); rbtn

38、1.setSelected(true); btn.addActionListener(this); ButtonGroup group=new ButtonGroup(); group.add(rbtn1); group.add(rbtn2); pl.setLayout(new GridLayout(1,4,10,0); pl.add(rbtn1); pl.add(rbtn2); pl.add(jtfd); pl.add(btn); tableTest=new JTable(rowData,columnNames);tableTest.setRowHeight(20); tableTest.s

39、etPreferredScrollableViewportSize(new Dimension(500, 30); JScrollPane scrollPane=new JScrollPane(tableTest); content.add(pl,BorderLayout.NORTH); content.add(scrollPane,BorderLayout.CENTER); frame.pack(); frame.setVisible(true); tryClass.forName("sun.jdbc.odbc.JdbcOdbcDriver"); con=DriverMa

40、nager.getConnection("jdbc:odbc:library"); stmt=con.createStatement();catch(ClassNotFoundException e)System.err.println(e.getMessage();catch(SQLException e)System.err.println(e.getMessage();public void actionPerformed(ActionEvent e)Object obj=e.getSource(); ResultSet result; String sqlStr;

41、int i=0; String str=jtfd.getText().trim(); if(rbtn2.isSelected() sqlStr="select bookname,bannercode,kindnumber,kindname,positionnumber,"+ "publishingcompany,publishtime,putintime,state,introduction from book where "+ "bannercode="+"'"+str+"'"

42、 else sqlStr="select bookname,bannercode,kindnumber,kindname,positionnumber,"+ "publishingcompany,publishtime,putintime,state,introduction from book where "+ "bookname like '"+str+"%'" try if(obj=btn) if(str.equals("") JOptionPane.showMessage

43、Dialog(frame,"Text was null!"); return; result=stmt.executeQuery(sqlStr); for(int j=0;j<rowData.length;j+) for(int k=0;k<10;k+) rowDatajk=null; tableTest.repaint(); while(result.next() if(i<rowData.length) rowDatai0=result.getString("bookname"); rowDatai1=result.getStrin

44、g("bannercode"); rowDatai2=result.getString("kindnumber"); rowDatai3=result.getString("kindname"); rowDatai4=result.getString("positionnumber"); rowDatai5=result.getString("publishingcompany"); rowDatai6=result.getDate("publishtime"); rowDa

45、tai7=result.getDate("putintime"); rowDatai8=result.getString("state"); rowDatai9=result.getString("introduction"); i+; elseJOptionPane.showMessageDialog(frame,"please specify the bookname!"); jtfd.setText(""); catch(SQLException sqle) System.err.prin

46、tln(sqle); public static void main(Stringargs)new BookInfo();Borrow.javaimport javax.swing.*;import java.awt.*;import java.sql.*;import java.awt.event.*;import java.util.*;import java.text.*;import java.math.*;public class Borrow extends JFrame implements ActionListenerprivate JTextField jtfd1,jtfd2

47、,jtfd3,jtfd4; private utton btn1,btn2,btn3; private Connection con; private Statement stmt; private PreparedStatement pstmt; private JFrame frame; private JLabel lb5;public Borrow()frame=new JFrame("借書"); Container content=frame.getContentPane(); content.setLayout(new GridLayout(6,2,10,10)

48、; JLabel lb1=new JLabel("借書證號:"); JLabel lb2=new JLabel("條形碼:"); JLabel lb3=new JLabel("借書日期:"); JLabel lb4=new JLabel("應還日期:"); lb5=new JLabel("罰款:"); jtfd1=new JTextField(); jtfd2=new JTextField(); jtfd3=new JTextField(); jtfd4=new JTextField(); jt

49、fd1.addFocusListener(new FocusHandler(); jtfd2.addFocusListener(new FocusHandler(); jtfd3.addFocusListener(new FocusHandler(); jtfd4.addFocusListener(new FocusHandler(); btn1=new utton("確定"); btn2=new utton("退出"); btn3=new utton("交款"); btn1.addActionListener(this); btn2

50、.addActionListener(this); btn3.addActionListener(this); content.add(lb1); content.add(jtfd1); content.add(lb2); content.add(jtfd2); content.add(lb3); content.add(jtfd3); content.add(lb4); content.add(jtfd4); content.add(lb5); content.add(btn3); content.add(btn1); content.add(btn2); frame.setBounds(1

51、00,100,420,320); try Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); con=DriverManager.getConnection("jdbc:odbc:library"); stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY); pstmt=con.prepareStatement("insert into borrow(user_cardnumber,ban

52、nercode,borrowdate,"+ "receivedate,renew) values(?,?,?,?,'否')"); catch(ClassNotFoundException e) System.err.println(e); catch(SQLException e) System.err.println(e); frame.setVisible(true); class FocusHandler implements FocusListener String str1,sqlStr1,state; ResultSet result;

53、 java.util.Date today1=new java.util.Date(); java.util.Date today2=new java.util.Date(); DateFormat format=DateFormat.getDateInstance(); String formatted1=format.format(today1); public void focusGained(FocusEvent e) Object obj=(JTextField)e.getSource(); if(obj=jtfd4) today2.setMonth(today1.getMonth(

54、)+1); String formatted2=format.format(today2); jtfd4.setText(formatted2); try if(obj=jtfd2) str1=jtfd1.getText().trim(); if(str1.equals("") jtfd1.requestFocus(); JOptionPane.showMessageDialog(frame,"Text was null!"); return; sqlStr1="select * from user where user_cardnumber=

55、"+"'"+str1+"'" result=stmt.executeQuery(sqlStr1); if(!result.next() jtfd1.requestFocusInWindow(); JOptionPane.showMessageDialog(frame,"請注冊!"); jtfd1.setText(""); return; else if(result.getString("user_state").equals("掛失") jtfd1

56、.requestFocus(); JOptionPane.showMessageDialog(frame,"This card has been reportlost!"); jtfd1.setText(""); return; sqlStr1="select * from borrow where user_cardnumber="+ "'"+str1+"'" result=stmt.executeQuery(sqlStr1); int i=0; while(result.next() i=i+1; if(i=4) jtfd1.requestFocus(); JOptionPane.showMessageDialog(frame,"you can't borrow more than four boo

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論