2023年全國(guó)碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩19頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  圖書館管理系統(tǒng)課程設(shè)計(jì)報(bào)告</p><p><b>  1目錄</b></p><p>  引言----------------------------------------------------------------2</p><p>  正文------------------------------------

2、----------------------------3</p><p>  結(jié)論和建議----------------------------------------------------------4</p><p>  致謝----------------------------------------------------------------5</p>&l

3、t;p>  參考文獻(xiàn)------------------------------------------------------------5</p><p>  附錄------------------------------------------------------------5—20</p><p><b>  2 引 言</b></p>

4、<p>  當(dāng)今時(shí)代是飛速發(fā)展的信息時(shí)代。在各行各業(yè)中離不開信息處理,這正是計(jì)算機(jī)被廣泛應(yīng)用于信息管理系統(tǒng)的環(huán)境。計(jì)算機(jī)的最大好處在于利用它能夠進(jìn)行信息管理。使用計(jì)算機(jī)進(jìn)行信息控制,不僅提高了工作效率,而且大大的提高了其安全性。尤其對(duì)于復(fù)雜的信息管理,計(jì)算機(jī)能夠充分發(fā)揮它的優(yōu)越性。計(jì)算機(jī)進(jìn)行信息管理與信息管理系統(tǒng)的開發(fā)密切相關(guān),系統(tǒng)的開發(fā)是系統(tǒng)管理的前提。圖書管理系統(tǒng)就是為了管理好圖書館信息而設(shè)計(jì)的。</p>

5、<p>  圖書館作為一種信息資源的集散地,圖書和用戶借閱資料繁多,包含很多的信息數(shù)據(jù)的管理,現(xiàn)今,有很多的圖書館都是初步開始使用,甚至尚未使用計(jì)算機(jī)進(jìn)行信息管理。根據(jù)調(diào)查得知,他們以前對(duì)信息管理的主要方式是基于文本、表格等紙介質(zhì)的手工處理,對(duì)于圖書借閱情況(如借書天數(shù)、超過限定借書時(shí)間的天數(shù))的統(tǒng)計(jì)和核實(shí)等往往采用對(duì)借書卡的人工檢查進(jìn)行,對(duì)借閱者的借閱權(quán)限、以及借閱天數(shù)等用人工計(jì)算、手抄進(jìn)行。數(shù)據(jù)信息處理工作量大,容易出錯(cuò)

6、;由于數(shù)據(jù)繁多,容易丟失,且不易查找??偟膩碚f,缺乏系統(tǒng),規(guī)范的信息管理手段。盡管有的圖書館有計(jì)算機(jī),但是尚未用于信息管理,沒有發(fā)揮它的效力,資源閑置比較突出,這就是管理信息系統(tǒng)的開發(fā)的基本環(huán)境。</p><p>  數(shù)據(jù)處理手工操作,工作量大,出錯(cuò)率高,出錯(cuò)后不易更改。圖書館采取手工方式對(duì)圖書借閱情況進(jìn)行人工管理,由于信息比較多,圖書借閱信息的管理工作混亂而又復(fù)雜;一般借閱情況是記錄在借書證上,圖書的數(shù)目和內(nèi)容

7、記錄在文件中,圖書館的工作人員和管理員也只是當(dāng)時(shí)對(duì)它比較清楚,時(shí)間一長(zhǎng),如再要進(jìn)行查詢,就得在眾多的資料中翻閱、查找了,造成查詢費(fèi)時(shí)、費(fèi)力。如要對(duì)很長(zhǎng)時(shí)間以前的圖書進(jìn)行更改就更加困難了。</p><p>  基于這些問題,有必要建立一個(gè)圖書管理系統(tǒng),使圖書管理工作規(guī)范化,系統(tǒng)化,程序化,避免圖書管理的隨意性,提高信息處理的速度和準(zhǔn)確性,能夠及時(shí)、準(zhǔn)確、有效的查詢和修改圖書情況。</p><p&

8、gt;<b>  3正 文</b></p><p><b>  3.1功能需求分析</b></p><p>  (1)作為學(xué)生對(duì)圖書管理系統(tǒng)的要求有:</p><p>  1.   能按各種方式(比如書名、編號(hào)、作者)查詢圖書館的藏書情況。</p><p>  2. &

9、#160; 能夠方便地借閱圖書、續(xù)借圖書、歸還圖書。</p><p>  3.  能夠查詢自己的基本資料、借閱圖書情況。</p><p>  4.  能夠熟悉圖書管理系統(tǒng)的使用。</p><p>  (2)作為圖書管理員,他們對(duì)圖書管理系統(tǒng)的要求有:</p><p>  1.   能方便的對(duì)圖書進(jìn)行錄入

10、登記,注銷陳舊的書籍。</p><p>  2. 能夠方便地對(duì)新生進(jìn)行登記,或注銷已經(jīng)畢業(yè)的學(xué)生信息(基本信息,借閱信息)。</p><p>  3.   能夠隨時(shí)發(fā)布一些諸如各學(xué)院學(xué)生借閱圖書超期情況、館內(nèi)藏書情況、借情況息,以便各學(xué)院能夠隨時(shí)獲知本院學(xué)生的一些借書信息。</p><p><b>  3.2系統(tǒng)用例分析</b&

11、gt;</p><p>  圖書管理系統(tǒng)中包含書籍的采購(gòu)、入庫、編目、出借、歸還、淘汰等功能,以及讀者信息的管理。本系統(tǒng)對(duì)前期的工作進(jìn)行了簡(jiǎn)化,刪掉了書籍的采購(gòu)、入庫、編目等繁瑣的工作,僅對(duì)系統(tǒng)主要部分進(jìn)行分析。為了提高服務(wù)效果,圖書館系統(tǒng)實(shí)行開架閱覽,并為讀者提供客戶端,讀者可以查詢到館藏書目和個(gè)人在借圖書的信息。這項(xiàng)功能也可以通過互聯(lián)網(wǎng)實(shí)現(xiàn)。圖書管理員通過系統(tǒng)記錄圖書的出借和歸還,以及書目的維護(hù)和讀者信息的維

12、護(hù)。</p><p><b>  3.3系統(tǒng)模塊分析</b></p><p>  3.3.1新書入庫模塊:</p><p>  (1)新書入庫界面包括圖書相關(guān)的屬性:編號(hào)、書名、作者、類別、出版日期、出版社、定價(jià)、數(shù)量、備注等。</p><p>  3.3.2圖書整理模塊:</p><p> ?。?/p>

13、1)圖書整理界面包括:圖書修改刪除、圖書類別編輯</p><p>  圖書修改刪除界面除了包括圖書的相關(guān)屬性還包括圖書修改功能。</p><p>  圖書類別編輯界面包括對(duì)類別編號(hào)、類別名稱進(jìn)行添加、刪除、修改的功模塊。</p><p>  3.3.3辦借書卡模塊:</p><p>  辦借書卡界面包括借書卡編號(hào)、持借書卡人的姓名、性別、組名

14、、證件號(hào)。</p><p>  3.3.4查詢模塊:</p><p> ?。?)借閱信息查詢:</p><p>  根據(jù)查詢方式如 按借書證號(hào)、按姓名等在文本框中輸入相關(guān)內(nèi)容即可查詢還可查詢到期圖書</p><p> ?。?)圖書信息查詢:</p><p>  查詢方式有:按書號(hào)、按書名、按作者、按類別、按出版社。在關(guān)

15、鍵字中輸入相關(guān)內(nèi)容,點(diǎn)擊“開始查詢”按鈕,在DataList中列出查詢結(jié)果。如果選中“模糊查詢”可查詢更多的相關(guān)信息。</p><p> ?。?)用戶信息查詢:</p><p>  查詢方式有:按借書證號(hào)、按姓名。在關(guān)鍵字框中輸入借書證號(hào)或者讀者姓名。</p><p><b>  組用戶管理模塊:</b></p><p>

16、;  (4)組用戶管理界面:</p><p>  操作方式包括:修改、刪除、添加。</p><p>  組用戶信息包括:組編號(hào)、組名稱、最長(zhǎng)天數(shù)、最多本數(shù)。</p><p>  3.3.5圖書借還模塊:</p><p>  圖書借閱界面包括圖書編號(hào)、書名、類別、出版社、出版日期、借書證號(hào)等</p><p>  歸還圖書

17、界面包括圖書的屬性、歸還者的信息。</p><p><b>  4 總結(jié)</b></p><p>  通過完成本次圖書管理系統(tǒng)實(shí)踐,使我系統(tǒng)的經(jīng)歷了一次JAVA軟件開發(fā)的整個(gè)設(shè)計(jì)開發(fā)過程,把所學(xué)的知識(shí)綜合的運(yùn)用到這次實(shí)踐中,重新復(fù)習(xí)了課本上講到的知識(shí),覺得有一種溫故而知新的感覺,通過實(shí)踐同時(shí)也收獲了許多課本上沒有的東西。</p><p>  

18、尤其是在開發(fā)圖書管理系統(tǒng)的過程當(dāng)中,也遇到了許多技術(shù)上或者其他方面的困難,但是也算經(jīng)過自己的努力,基本上克服了這些困難。由于我的水平確實(shí)有限,加之也沒有實(shí)際的項(xiàng)目經(jīng)驗(yàn),設(shè)計(jì)時(shí)間短,所以該系統(tǒng)還有許多不盡如人意的地方,比如功能較少,出錯(cuò)處理不夠等多方面問題 ,距離真正實(shí)用的圖書管理系統(tǒng)還有許多差距,但我相信,軟件開發(fā)是一個(gè)不斷完善的過程,我會(huì)在以后得學(xué)習(xí)當(dāng)中繼續(xù)完善的 。</p><p>  在這次設(shè)計(jì)過程中,培養(yǎng)

19、了我的自學(xué)能力,在遇到困難的時(shí)候,能夠認(rèn)真的對(duì)待,不放棄,無論是查看各種書籍還是到圖書館中查找各種資料,想盡一切辦法將這個(gè)問題解決。我總結(jié)了許多編程經(jīng)驗(yàn),這將在以后的學(xué)習(xí)生活中有很大的幫助。</p><p><b>  5、致謝</b></p><p>  感謝那些給我?guī)韼椭臅蚷nternet,還有周邊的同學(xué)們。還要感謝我們的指導(dǎo)老師給我們這么多學(xué)生的文檔認(rèn)真

20、批改,讓我們知道在課程設(shè)計(jì)與實(shí)現(xiàn)的過程中存在的問題。</p><p><b>  6、參考文獻(xiàn)</b></p><p>  [1] 王克宏、郝建文. Java技術(shù)教程 [M]. 北京:清華大學(xué)出版社,2002年</p><p>  [2] 基于JAVA的學(xué)生信息管理系統(tǒng) 李偉 電子科技大學(xué) 【碩士】電子科技大學(xué) 2009-04-01

21、 0 578 </p><p>  [3] J2EE框架及全文檢索技術(shù)在信息管理系統(tǒng)中的應(yīng)用 徐立峰 電子科技大學(xué) 【碩士】電子科技大學(xué) 2009-10-01 </p><p><b>  7、附錄</b></p><p><b>  附部分主要源代碼:</b></p><p>

22、;  import javax.swing.*; </p><p>  import java.awt.*;</p><p>  import java.awt.event.*; </p><p>  import javax.swing.table.*;</p><p>  import java.sql.*;</p&

23、gt;<p>  import edu.njust.cs.*;</p><p>  public class SimpleBookManager{</p><p>  public static void main(String []args){</p><p>  SetFont.setFont(new Font("楷體", 0,

24、 12));</p><p>  Connection con=null;</p><p><b>  try{</b></p><p>  con=SqlUtil.acquireConnection("127.0.0.1",</p><p>  "1433","book

25、Test","admin","xyz");</p><p>  }catch(Exception e){</p><p>  System.out.println(e);</p><p>  System.exit(-1);</p><p><b>  }</b><

26、/p><p>  if(con!=null){</p><p>  JFrame f=new JFrame();</p><p>  f.addWindowListener(new WindowAdapter(){</p><p>  public void windowClosing(WindowEvent e){</p>&

27、lt;p>  System.exit(0);</p><p><b>  }</b></p><p><b>  });</b></p><p>  f.getContentPane().add(new BookManager(f,con));</p><p>  f.setSize(6

28、00,400);</p><p><b>  f.show();</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  class Boo

29、kManager extends JPanel implements ActionListener{</p><p>  private String [] columnNames={"圖書編號(hào)","書名","定價(jià)","出版社"};</p><p>  private Class []dataType={Str

30、ing.class,String.class,Double.class,String.class};</p><p>  private CustomTableModel model=null;</p><p>  private JTable table=null;</p><p>  private Connection con=null;</p>

31、;<p>  private JButton btnAdd=new TextAndPicButton("image/addrow20.gif"," 增 加 ");</p><p>  private JButton btnSearch=new TextAndPicButton("image/search20.gif"," 查

32、 詢 ");</p><p>  private JButton btnDelete=new TextAndPicButton("image/deleterow20.gif"," 刪 除 ");</p><p>  private JButton btnExit=new TextAndPicButton("image/exi

33、t20.gif"," 退 出 ");</p><p>  private JFrame f=null;</p><p>  public BookManager(JFrame f,Connection con){</p><p><b>  this.f=f;</b></p><p> 

34、 this.con=con;</p><p><b>  //構(gòu)建工具條</b></p><p>  JToolBar toolBar=new JToolBar();</p><p>  toolBar.add(btnAdd);</p><p>  toolBar.add(btnSearch);</p>&

35、lt;p>  toolBar.add(btnDelete);</p><p>  toolBar.add(btnExit);</p><p><b>  //注冊(cè)事件偵聽器</b></p><p>  btnAdd.addActionListener(this);</p><p>  btnSearch.add

36、ActionListener(this);</p><p>  btnDelete.addActionListener(this);</p><p>  btnExit.addActionListener(this);</p><p><b>  //構(gòu)建表格</b></p><p>  model=new Cust

37、omTableModel(0,columnNames.length,columnNames,dataType);</p><p>  table = new JTable(model); </p><p>  table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);</p><p>  table.setSelection

38、Mode(ListSelectionModel.SINGLE_SELECTION );</p><p>  //設(shè)定表格每列的寬度</p><p>  setTableColumnWidth(0,100);</p><p>  setTableColumnWidth(1,200);</p><p>  setTableColumnWidth(

39、2,100);</p><p>  setTableColumnWidth(3,250);</p><p>  //布局工具條及表格</p><p>  this.setLayout(new BorderLayout());</p><p>  this.add(toolBar,BorderLayout.NORTH);</p&g

40、t;<p>  this.add(new JScrollPane(table),BorderLayout.CENTER);</p><p><b>  }</b></p><p>  //設(shè)置表格指定列的寬度</p><p>  public void setTableColumnWidth(int column,int

41、width){</p><p>  if(column<columnNames.length&&column>=0){</p><p>  TableColumn col=table.getColumn(columnNames[column]);</p><p>  col.setPreferredWidth(width);</

42、p><p><b>  }</b></p><p><b>  }</b></p><p>  public void actionPerformed(ActionEvent e){</p><p>  Object s=e.getSource();</p><p>  if(s

43、==this.btnAdd) add();</p><p>  else if(s==this.btnSearch)search();</p><p>  else if(s==this.btnDelete) delete();</p><p>  else if(s==this.btnExit) System.exit(0);</p><p&

44、gt;<b>  }</b></p><p>  //增加一條記錄到數(shù)據(jù)庫</p><p>  public void add(){</p><p>  BookEditor be=new BookEditor(f,"增加",true);</p><p>  be.show();</p>

45、<p>  //只有點(diǎn)擊了信息對(duì)話框中的確定按鈕,才增加記錄</p><p>  if(be.getActionCode()==be.OK){</p><p>  String insertSql="insert into bookInfo VALUES (?,?,?,?)";</p><p>  Object []lineForDB

46、Add={be.getID(),be.getBookName(),</p><p>  be.getBookPrice(),be.getBookPress()};</p><p>  if(SqlUtil.addRowToDB(con,insertSql,lineForDBAdd))</p><p>  { //成功寫入數(shù)據(jù)庫的記錄,追加到表格的末行顯示&l

47、t;/p><p>  Object []lineForTable=</p><p>  SqlUtil.getLineForTableFromLineForDB(lineForDBAdd,dataType);</p><p>  model.insertRow(model.getRowCount(),lineForTable);</p><p>

48、  //將表格的最后一行選中</p><p>  table.changeSelection(model.getRowCount()-1,0,false,false);</p><p><b>  }</b></p><p><b>  else</b></p><p>  JOptionPan

49、e.showMessageDialog(this,"新增時(shí)出錯(cuò)!",</p><p>  "提示",JOptionPane.INFORMATION_MESSAGE);</p><p><b>  }</b></p><p><b>  }</b></p><

50、;p><b>  //查詢數(shù)據(jù)庫</b></p><p>  public void search(){</p><p>  SearchDialog sd=new SearchDialog(f,"查詢",true);</p><p>  sd.show();</p><p>  if(sd.g

51、etActionCode()==sd.OK){</p><p>  String readSql=sd.getSQL();</p><p>  SqlUtil.readDBToTable(con,readSql,model,dataType);</p><p><b>  }</b></p><p><b> 

52、 }</b></p><p><b>  //刪除選定的記錄</b></p><p>  public void delete(){</p><p>  int selected=table.getSelectedRow();</p><p>  if(selected>=0&&sele

53、cted<model.getRowCount()){</p><p>  int result=JOptionPane.showConfirmDialog (f,"您確定要?jiǎng)h除該條圖書信息嗎?"</p><p>  ,"確認(rèn)",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE);&l

54、t;/p><p>  if (result!=JOptionPane.YES_OPTION)return ;</p><p>  String deleteSql="delete from bookInfo where bookID=?";</p><p>  Object []keys={model.getValueAt(selected,0).

55、toString()};</p><p>  if(SqlUtil.deleteFromDB(con,deleteSql,keys))</p><p>  model.removeRow(selected);</p><p><b>  }</b></p><p><b>  else</b><

56、;/p><p>  JOptionPane.showMessageDialog(f,"請(qǐng)選定要?jiǎng)h除的一行!"</p><p>  ,"提示",JOptionPane.INFORMATION_MESSAGE);</p><p><b>  }</b></p><p>  //內(nèi)部

57、類,用于顯示/編輯圖書信息的一個(gè)模式對(duì)話框</p><p>  class BookEditor extends JDialog implements ActionListener{</p><p>  final int OK=1;</p><p>  final int CANCEL=-1;</p><p>  final int

58、 CLOSE=0;</p><p>  private int actionCode=CANCEL;</p><p>  private JLabel labID=new JLabel(" 圖書編號(hào) ");</p><p>  private JTextField txtID=new JTextField();</p>

59、;<p>  private JLabel labBookName=new JLabel(" 圖書名稱 ");</p><p>  private JTextField txtBookName=new JTextField();</p><p>  private JLabel labBookPrice=new JLabel(" 單

60、 價(jià) ");</p><p>  private JTextField txtBookPrice=new JTextField();</p><p>  private JLabel labBookPress=new JLabel(" 出 版 社 ");</p><p>  private JTextFi

61、eld txtBookPress=new JTextField();</p><p>  private JButton btnPre=new JButton("上一個(gè)");</p><p>  private JButton btnNext=new JButton("下一個(gè)"); </p><p>  p

62、rivate JButton btnOk=new JButton("確定");</p><p>  private JButton btnCancel=new JButton("取消");</p><p>  private JFrame f=null;</p><p>  public BookEditor(JFrame f

63、,String s,boolean b){</p><p>  super(f,s,b);</p><p><b>  this.f=f;</b></p><p>  //面板p中顯示圖書信息</p><p>  JPanel p=new JPanel();</p><p>  p.setLay

64、out(new GridBagLayout());</p><p>  LayoutUtil.add(p,GridBagConstraints.NONE,</p><p>  GridBagConstraints.CENTER,0,0,0,0,1,1,labID);</p><p>  LayoutUtil.add(p,GridBagConstraints.HORI

65、ZONTAL,</p><p>  GridBagConstraints.CENTER,100,0,1,0,1,1,txtID);</p><p>  LayoutUtil.add(p,GridBagConstraints.NONE,</p><p>  GridBagConstraints.CENTER,0,0,2,0,1,1,labBookName);</

66、p><p>  LayoutUtil.add(p,GridBagConstraints.HORIZONTAL,</p><p>  GridBagConstraints.CENTER,100,0,3,0,1,1,txtBookName);</p><p>  LayoutUtil.add(p,GridBagConstraints.NONE,</p>

67、<p>  GridBagConstraints.CENTER,0,0,0,1,1,1,labBookPrice);</p><p>  LayoutUtil.add(p,GridBagConstraints.HORIZONTAL,</p><p>  GridBagConstraints.CENTER,100,0,1,1,1,1,txtBookPrice);</p>

68、<p>  LayoutUtil.add(p,GridBagConstraints.NONE,</p><p>  GridBagConstraints.CENTER,0,0,2,1,1,1,labBookPress);</p><p>  LayoutUtil.add(p,GridBagConstraints.HORIZONTAL,</p><p>

69、  GridBagConstraints.CENTER,100,0,3,1,1,1,txtBookPress);</p><p><b>  //注冊(cè)事件偵聽器</b></p><p>  btnOk.addActionListener(this);</p><p>  btnCancel.addActionListener(this);<

70、;/p><p>  btnPre.addActionListener(this);</p><p>  btnNext.addActionListener(this);</p><p>  btnOk.setIcon(new ImageIcon("image/ok20.gif"));</p><p>  btnCan

71、cel.setIcon(new ImageIcon("image/cancel20.gif"));</p><p>  btnPre.setIcon(new ImageIcon("image/pre20.gif"));</p><p>  btnNext.setIcon(new ImageIcon("image/next20.gif&quo

72、t;));</p><p>  btnNext.setHorizontalTextPosition(SwingConstants.LEFT);</p><p>  //在增加模式下前后移動(dòng)按鈕置為不可用</p><p>  //讀者擴(kuò)展該程序具有編輯功能時(shí),可以將前后移動(dòng)按鈕置為可用</p><p>  if(s.equals(&quo

73、t;增加")){</p><p>  btnPre.setEnabled(false);</p><p>  btnNext.setEnabled(false);</p><p><b>  }</b></p><p>  //面板ap中顯示4個(gè)按鈕</p><p>  JPane

74、l ap=new JPanel();</p><p>  ap.setLayout(new GridBagLayout());</p><p>  LayoutUtil.add(ap,GridBagConstraints.NONE,</p><p>  GridBagConstraints.CENTER,0,0,0,0,1,1,this.btnPre);</p

75、><p>  LayoutUtil.add(ap,GridBagConstraints.NONE,</p><p>  GridBagConstraints.CENTER,0,0,1,0,1,1,this.btnNext);</p><p>  LayoutUtil.add(ap,GridBagConstraints.HORIZONTAL,</p><

76、;p>  GridBagConstraints.CENTER,100,0,2,0,1,1,new JLabel());</p><p>  LayoutUtil.add(ap,GridBagConstraints.NONE,</p><p>  GridBagConstraints.CENTER,0,0,3,0,1,1,this.btnOk);</p><p>

77、;  LayoutUtil.add(ap,GridBagConstraints.NONE,</p><p>  GridBagConstraints.CENTER,0,0,4,0,1,1,this.btnCancel);</p><p>  getContentPane().add(p,BorderLayout.CENTER);</p><p>  getConte

78、ntPane().add(ap,BorderLayout.SOUTH);</p><p>  //將對(duì)話框窗口定位在父窗口的居中位置</p><p>  setSizeAndPosition(550,120);</p><p>  this.addWindowListener(new WindowAdapter(){</p><p> 

79、 public void windowClosing(WindowEvent e){</p><p>  actionCode=CLOSE;</p><p><b>  }</b></p><p><b>  });</b></p><p><b>  }</b><

80、/p><p>  //將對(duì)話框窗口定位在父窗口的居中位置</p><p>  public void setSizeAndPosition(int w,int h){</p><p>  this.setSize(w,h);</p><p>  Dimension d=f.getSize();</p><p>  Poin

81、t pp=f.getLocation();</p><p>  this.setLocation(pp.x+(d.width-w)/2,pp.y+(d.height-h)/2);</p><p><b>  }</b></p><p>  public void actionPerformed(ActionEvent e){</p>

82、<p>  Object s=e.getSource();</p><p>  if(s==this.btnCancel){</p><p>  this.actionCode=this.CANCEL;</p><p>  this.setVisible(false);</p><p><b>  }</b&g

83、t;</p><p>  else if(s==this.btnOk) okClicked();</p><p><b>  }</b></p><p>  public String getID(){</p><p>  return txtID.getText().trim();</p>

84、<p><b>  }</b></p><p>  public String getBookName(){</p><p>  return txtBookName.getText().trim();</p><p><b>  }</b></p><p>  //將圖書單價(jià)由字符

85、串類型轉(zhuǎn)化為Double類型</p><p>  //如果不是合法的數(shù)值字符串,取值Double.NEGATIVE_INFINITY</p><p>  public Double getBookPrice(){</p><p>  double result=Double.NEGATIVE_INFINITY;</p><p><b&g

86、t;  try{</b></p><p>  result=Double.parseDouble(this.txtBookPrice.getText().trim());</p><p>  }catch(Exception e){</p><p>  result=Double.NEGATIVE_INFINITY;</p><p&g

87、t;<b>  }</b></p><p>  return new Double(result);</p><p><b>  }</b></p><p>  public String getBookPress(){</p><p>  return txtBookPress.getText()

88、.trim();</p><p><b>  }</b></p><p>  public int getActionCode(){</p><p>  return this.actionCode;</p><p><b>  }</b></p><p>  public

89、void okClicked(){</p><p>  //圖書編號(hào)不為空,且價(jià)格為數(shù)值類型時(shí) 隱藏對(duì)話框</p><p>  if(!this.txtID.getText().trim().equals("")){</p><p><b>  try{</b></p><p>  Double.p

90、arseDouble(this.txtBookPrice.getText().trim());</p><p>  }catch(Exception e){</p><p>  JOptionPane.showMessageDialog(f,"價(jià)格非法!","提示",</p><p>  JOptionPane.INFORMA

91、TION_MESSAGE);</p><p><b>  return ;</b></p><p><b>  }</b></p><p>  this.actionCode=this.OK;</p><p>  this.setVisible(false);</p><p&g

92、t;<b>  }</b></p><p><b>  else</b></p><p>  JOptionPane.showMessageDialog(f,"請(qǐng)?jiān)O(shè)定圖書編號(hào)!","提示",</p><p>  JOptionPane.INFORMATION_MESSAGE);&l

93、t;/p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  class SearchDialog extends JDialog implements ActionListener{</p>

94、;<p>  final int OK=1;</p><p>  final int CANCEL=-1;</p><p>  final int CLOSE=0;</p><p>  private int actionCode=CANCEL;</p><p>  private JRadioButton rad

95、ID=new JRadioButton(" 圖書編號(hào) ");</p><p>  private JTextField txtID=new JTextField();</p><p>  private JRadioButton radBookName=new JRadioButton(" 圖書名稱 ");</p><p

96、>  private JTextField txtBookName=new JTextField();</p><p>  private JRadioButton radBookPress=new JRadioButton(" 出 版 社 ");</p><p>  private JTextField txtBookPress=new JTextFi

97、eld();</p><p>  private JButton btnOk=new JButton("確定(Yes)");</p><p>  private JButton btnCancel=new JButton("取消(Esc)");</p><p>  private JFrame f=null;</p&g

98、t;<p>  public SearchDialog(JFrame f,String s,boolean b){</p><p>  super(f,s,b);</p><p><b>  this.f=f;</b></p><p>  ButtonGroup group=new ButtonGroup();</p&g

99、t;<p>  group.add(radID);</p><p>  group.add(radBookName);</p><p>  group.add(radBookPress);</p><p>  txtID.setEditable(false);</p><p>  radBookName.setSelecte

100、d(true);</p><p>  txtBookPress.setEditable(false);</p><p>  radID.addActionListener(this);</p><p>  radBookName.addActionListener(this);</p><p>  radBookPress.addActi

101、onListener(this);</p><p>  //面板p中顯示查詢條件</p><p>  JPanel p=new JPanel();</p><p>  p.setLayout(new GridBagLayout());</p><p>  LayoutUtil.add(p,GridBagConstraints.NONE,&

102、lt;/p><p>  GridBagConstraints.CENTER,0,0,0,0,1,1,radID);</p><p>  LayoutUtil.add(p,GridBagConstraints.HORIZONTAL,</p><p>  GridBagConstraints.CENTER,100,0,1,0,1,1,txtID);</p>&

103、lt;p>  LayoutUtil.add(p,GridBagConstraints.NONE,</p><p>  GridBagConstraints.WEST,0,0,0,1,1,1,radBookName);</p><p>  LayoutUtil.add(p,GridBagConstraints.HORIZONTAL,</p><p>  Grid

104、BagConstraints.CENTER,100,0,1,1,1,1,txtBookName);</p><p>  LayoutUtil.add(p,GridBagConstraints.NONE,</p><p>  GridBagConstraints.CENTER,0,0,0,2,1,1,radBookPress);</p><p>  LayoutUti

105、l.add(p,GridBagConstraints.HORIZONTAL,</p><p>  GridBagConstraints.CENTER,100,0,1,2,1,1,txtBookPress);</p><p>  btnOk.setIcon(new ImageIcon("image/ok20.gif"));</p><p>  bt

106、nCancel.setIcon(new ImageIcon("image/cancel20.gif"));</p><p>  btnOk.addActionListener(this);</p><p>  btnCancel.addActionListener(this);</p><p>  //面板ap中顯示確定 取消按鈕<

107、/p><p>  JPanel ap=new JPanel();</p><p>  ap.add(btnOk);</p><p>  ap.add(btnCancel);</p><p>  getContentPane().add(p,BorderLayout.CENTER);</p><p>  getConte

108、ntPane().add(ap,BorderLayout.SOUTH);</p><p>  setSizeAndPosition(300,200);</p><p>  this.addWindowListener(new WindowAdapter(){</p><p>  public void windowClosing(WindowEvent e){&

109、lt;/p><p>  actionCode=CLOSE;</p><p><b>  }</b></p><p><b>  });</b></p><p><b>  }</b></p><p>  //將對(duì)話框窗口定位在父窗口的居中位置</p&

110、gt;<p>  public void setSizeAndPosition(int w,int h){</p><p>  this.setSize(w,h);</p><p>  Dimension d=f.getSize();</p><p>  Point pp=f.getLocation();</p><p>  t

111、his.setLocation(pp.x+(d.width-w)/2,pp.y+(d.height-h)/2);</p><p><b>  }</b></p><p>  public void setTxtEditable(boolean b1,boolean b2,boolean b3){</p><p>  txtID.setEdita

112、ble(b1);</p><p>  txtBookName.setEditable(b2);</p><p>  txtBookPress.setEditable(b3);</p><p><b>  }</b></p><p>  public void actionPerformed(ActionEvent e){

113、</p><p>  Object s=e.getSource();</p><p>  if(s==this.radID)setTxtEditable(true,false,false);</p><p>  else if(s==this.radBookName)setTxtEditable(false,true,false);</p><

114、;p>  else if(s==this.radBookPress)setTxtEditable(false,false,true);</p><p>  else if(s==this.btnOk){</p><p>  this.actionCode=this.OK;</p><p>  this.setVisible(false);</p>

115、<p><b>  }</b></p><p>  else if(s==this.btnCancel){</p><p>  this.actionCode=this.CANCEL;</p><p>  this.setVisible(false);</p><p><b>  }</b&

116、gt;</p><p><b>  }</b></p><p>  public int getActionCode(){</p><p>  return actionCode;</p><p><b>  }</b></p><p>  public String get

117、SQL(){</p><p>  String sql="select * from bookInfo where ";</p><p>  if(radID.isSelected())</p><p>  sql=sql+" bookID like '%"+txtID.getText().trim()+"%

118、'";</p><p>  else if(radBookName.isSelected())</p><p>  sql=sql+" bookName like '%"+txtBookName.getText().trim()+"%'";</p><p>  else if(radBookP

119、ress.isSelected())</p><p>  sql=sql+" bookPress like '%"+txtBookPress.getText().trim()+"%'";</p><p>  return sql;</p><p><b>  }</b></p>

120、<p><b>  }</b></p><p>  package edu.njust.cs;</p><p>  import java.sql.*;</p><p>  import javax.swing.*;</p><p>  import java.util.*;</p><

121、p>  import java.io.*;</p><p>  public class SqlUtil{</p><p><b>  //讀入配置文件</b></p><p>  public static Properties loadProperty(String fileName){</p><p>  P

122、roperties prop=new Properties();</p><p><b>  try{</b></p><p>  FileInputStream in=new FileInputStream(</p><p>  System.getProperties().get("user.dir")+"

123、;/"+fileName);</p><p>  prop.load(in);</p><p>  in.close();</p><p>  }catch(IOException e){</p><p>  e.printStackTrace();</p><p>  JOptionPane.sho

124、wMessageDialog(null,</p><p>  "配置文件丟失!\n建議重新安裝程序",</p><p><b>  "信息",</b></p><p>  JOptionPane.ERROR_MESSAGE);</p><p>  prop=null;</p&

125、gt;<p><b>  }</b></p><p>  return prop;</p><p><b>  }</b></p><p>  //建立和MS SQL SERVER的連接</p><p>  public static Connection acquireConnec

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲(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)論