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

下載本文檔

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

文檔簡介

1、<p>  《C#課程設(shè)計》課程設(shè)計報告書</p><p>  設(shè) 計 題 目: 圖書借閱查詢系統(tǒng) </p><p>  設(shè) 計 時 間: 年 月 日</p><p><b>  一、設(shè)計目的</b></p><p>  圖書是最豐富、最寶貴的信息源和知識源。記載和

2、收集了人類社會的文明史,它為人類社會的科技進步、社會的發(fā)展提供了巨大的推動作用。為人類的進步,人類的文明做出了巨大的貢獻。在科學(xué)技術(shù)迅猛發(fā)展的今天,在即將到來的信息社會和知識經(jīng)濟時代,人們對圖書的需求也就更為迫切。</p><p>  隨著計算機技術(shù)的發(fā)展,許多行業(yè)都進入了信息化。對于傳統(tǒng)的圖書館而言,也出現(xiàn)了許多的圖書借閱管理系統(tǒng),方便了讀者和管理人員。由于手工的圖書管管理工作量大、任務(wù)多、服務(wù)局限性等等,給學(xué)

3、生和老師帶來了很多的不便。設(shè)計圖書的借閱管理系統(tǒng)可以提高圖書管管理的效率;降低工作人員的工作量;完善圖書館的各項功能。,這個系統(tǒng)包括了圖書館管理的主要業(yè)務(wù)工作,可以全面實現(xiàn)對圖書館的查詢、借還實現(xiàn)??紤]到圖書館各項業(yè)務(wù)當(dāng)中的存在的具體問題系統(tǒng)為各個層次的用戶在實際操作方面加強了方便性,在業(yè)務(wù)規(guī)則實現(xiàn)方面更加注重智能化,使用戶在使用當(dāng)中更輕松 ,在系統(tǒng)進入直接的指明途徑,這樣更加有助于全面提高圖書館的管理效率,改善了書刊的科學(xué)管理及工作人

4、員的管理,圖書館各類功能全面實現(xiàn)。</p><p>  圖書管理系統(tǒng)的建立,需要進行用戶需求調(diào)查與分析,以確定系統(tǒng)目標(biāo),提出解決問題的詳細方案,這是系統(tǒng)建設(shè)的重要環(huán)節(jié)。要想使圖書管理客戶能方便的使用系統(tǒng),功能上對系統(tǒng)的要求是全面的。利用計算機的自動化處理,可方便快捷地共享信息、交流信息,高效地工作。</p><p>  “電子商務(wù)”這個概念起源與20世紀70年代。當(dāng)時國際上一些大公司可通過

5、建立自己的計算機網(wǎng)絡(luò)以實現(xiàn)各個機構(gòu)之間、商業(yè)伙伴的信息共享,這個過程稱為 EDI。EDI這種方式通過傳遞標(biāo)準數(shù)據(jù)流不僅可以避免人為失誤,而且能有效降低成本,提高效率。在過去30年中,世界1000個最大企業(yè)中,有95﹪以上使用了或還在使用這一技術(shù)。 EDI無論過去現(xiàn)在也是圖書管理的基礎(chǔ)。</p><p>  圖書管理,即在信息社會中,掌握信息技術(shù)和商務(wù)規(guī)則,利用電子工具和網(wǎng)絡(luò)從 事的圖書活動,隨著網(wǎng)絡(luò)技術(shù)

6、的成熟,網(wǎng)上銀行,網(wǎng)上商店等將逐步替代傳統(tǒng)商務(wù)活動。圖書管理以其公平,快捷,方便,高效,成本低,中間環(huán)節(jié)少,全球性,全天候交易和服務(wù)等巨大優(yōu)勢,已經(jīng)開始贏得人們的青睞。</p><p>  “圖書管理”是由 IBM公司于1998年率先提出并迅速得到廣泛認同。包括網(wǎng)絡(luò)廣告、在線電子服務(wù)等內(nèi)容,涵蓋了過去、現(xiàn)在和未來所有電子形式實現(xiàn)的商務(wù)活動手段。隨著時代發(fā)展、計算機及網(wǎng)絡(luò)產(chǎn)品、互聯(lián)網(wǎng)技術(shù)、安全支付等圖書管理的支撐技

7、術(shù)在圖書管理應(yīng)用的大潮中產(chǎn)生質(zhì)的飛躍。它不僅局限帶動互聯(lián)網(wǎng)經(jīng)濟的飛速發(fā)展,而是將深入到經(jīng)貿(mào)的每一個角落,深入千家萬戶。圖書管理提出了一種全新的商業(yè)機會、需求、規(guī)則和挑戰(zhàn)。</p><p><b>  二、需求分析</b></p><p><b>  1、業(yè)務(wù)需求</b></p><p>  圖書館借閱查詢系統(tǒng)面向的是管理員

8、用戶和一般讀者用戶。管理員用戶,可以通過使用該系統(tǒng),完成對圖書信息的錄入,圖書信息的刪除,以及對圖書信息的查詢,等對圖書的操作。管理員通過使用該系統(tǒng),為讀者注冊賬號,修改讀者個人信息,刪除讀者信息。管理員用戶,通過該系統(tǒng)完成讀者借書、歸還圖書的具體業(yè)務(wù),完成這些業(yè)務(wù)后,可以使用該系統(tǒng),正確的更新當(dāng)前圖書信息。讀者可以使用該系統(tǒng),檢索書籍信息,查詢自己的借書信息,以及查看自己的注冊信息。</p><p><b

9、>  2.硬件需求</b></p><p>  系統(tǒng)要求WindowsXP/Windows7/Windows8/Windows8.1</p><p>  三、模塊分析及設(shè)計 </p><p>  在整個系統(tǒng)中我主要負責(zé)設(shè)計和實現(xiàn)以下功能模塊:讀者用戶借書業(yè)務(wù),還書業(yè)務(wù),圖書館借閱罰款制度制定及罰款業(yè)務(wù)的實現(xiàn)。以及刪除館藏圖書的功能實現(xiàn)</p&

10、gt;<p><b> ?。ㄒ唬?、借書業(yè)務(wù)</b></p><p><b>  1.具體邏輯概要:</b></p><p>  確認讀者信息流程:首先要確認讀者是否存在于讀者表中,如果不存在,提示檢查用戶ID,如果存在,進行下一步。</p><p>  判斷是否在借還表中有信息。如果有信息則判斷是否已借過書而

11、且尚未按時歸還,如果有此種情況,則提示讀者,并且提供還書按鈕,參見還書。如果無此種情況,說明讀者無不良信息,可以進入借書流程。參見: 借書流程否進入借書流程。如果讀者在借還表中沒有信息,進入借書流程。</p><p>  完成借書流程:判斷圖書是否存在,不存在則提示,存在則判斷是否借閱過此書沒有借閱過則提供完成借書。有過則判斷是否已歸還,尚未歸還則提供還書按鈕,已經(jīng)歸還則提供完成借書。更新記錄。</p>

12、;<p>  2. 借書業(yè)務(wù)邏輯圖:</p><p><b> ?。ǘ⑦€書業(yè)務(wù)</b></p><p><b>  1.具體還書邏輯:</b></p><p>  還書系統(tǒng),查詢讀者借還信息,有借書記錄,判斷是否有未還書籍,是,判斷是否有逾期未還,是,計算并提示罰款,參見: 完成歸還,更新記錄,否參見:

13、完成歸還,更新記錄,否,無借書記錄,提示檢查用戶編號,完成歸還,更新記錄,參見: 否, 計算并提示罰款。</p><p>  2.還書業(yè)務(wù)邏輯圖:</p><p>  (三)、刪除館藏圖書業(yè)務(wù)</p><p><b>  四、數(shù)據(jù)庫設(shè)計</b></p><p><b>  1.數(shù)據(jù)庫關(guān)系圖:</b>

14、</p><p><b>  2.借還表:</b></p><p><b>  3.管理員表</b></p><p><b>  4.圖書信息表</b></p><p><b>  5.圖書種類表</b></p><p><b

15、>  6.讀者表</b></p><p><b>  五、制作過程及要點</b></p><p>  (一)借書業(yè)務(wù)代碼實現(xiàn):</p><p>  代碼實現(xiàn)使用的是分層設(shè)計的思想,每個模塊功能的實現(xiàn),分為UI層(用戶接口層),BLL層(業(yè)務(wù)邏輯層),Dal層(數(shù)據(jù)訪問層),三個層來實現(xiàn)。UI層主要是負責(zé)與用戶進行交互,BLL層

16、,既起到了連接UI與Dal的橋梁作用,又可以對業(yè)務(wù)邏輯進行一些選擇和判斷。Dal層主要是對數(shù)據(jù)庫中數(shù)據(jù)的操作,只對數(shù)據(jù)操作。除了三層之外,還有一個用來負責(zé)在三個層次之間傳遞數(shù)據(jù)的就是Model 三層關(guān)系模式圖:</p><p>  1).Model類代碼:</p><p>  public class tbBorrowAndBack</p><p><

17、;b>  {</b></p><p>  public string bookID</p><p>  { get; set; }</p><p>  public string readerID</p><p>  { get; set; }</p><p>  public int bookBor

18、rowNum</p><p>  { get; set; }</p><p>  public DateTime bookBorrowTime</p><p>  { get; set; }</p><p>  public DateTime bookYgBackTime</p><p>  { get; set; }

19、</p><p>  public DateTime bookSjBackTime</p><p>  { get; set; }</p><p>  public decimal bookFine</p><p>  { get; set; }</p><p>  public string bookName<

20、/p><p>  { get; set; }</p><p>  public string readerName</p><p>  { get; set; }</p><p>  public bool bookIsBack</p><p>  { get; set; }</p><p>  p

21、ublic int SortID</p><p>  { get; set; }</p><p>  public string bookAuthor</p><p>  { get; set; }</p><p>  public string bookPublish</p><p>  { get; set; }&

22、lt;/p><p>  public int bookRealNum</p><p>  { get; set; }</p><p><b>  }</b></p><p>  2).借書業(yè)務(wù)UI層主要代碼:</p><p>  private int cobCount;//用來獲得要借書的編號<

23、;/p><p>  private bool hasBorrowed;//用來記錄當(dāng)前書籍是否歸還</p><p>  private void btnOK_Click(object sender, EventArgs e)</p><p><b>  {</b></p><p>  tbReaderBll readerBl

24、l = new tbReaderBll();</p><p>  if (readerBll.UserExist(txtReaderID.Text.Trim()))</p><p><b>  {</b></p><p>  BorrowBookQuery();</p><p><b>  }</b>

25、;</p><p><b>  else</b></p><p><b>  {</b></p><p>  MessageBox.Show("用戶不存在,請檢查用戶輸入");</p><p><b>  }</b></p><p>

26、<b>  }</b></p><p>  private void btnGoBackBook_Click(object sender, EventArgs e)</p><p><b>  {</b></p><p>  this.Close();</p><p><b>  }<

27、;/b></p><p>  private void btnBorrow_Click(object sender, EventArgs e)</p><p><b>  {</b></p><p>  tbBorrowAndBackBll borrowBll = new tbBorrowAndBackBll();</p>

28、<p>  int i = borrowBll.StartBorrow(txtBookNumber.Text.Trim().ToString());//返回該書的實際數(shù)量</p><p>  if (i == 0)</p><p><b>  {</b></p><p><b>  //不存在,提示</b><

29、;/p><p>  MessageBox.Show("編號錯誤或者此書已借完,請重新輸入");</p><p>  txtBookNumber.Clear();</p><p>  txtBookNumber.Focus();</p><p><b>  }</b></p><p>

30、;<b>  else</b></p><p><b>  {</b></p><p><b>  //采集數(shù)據(jù)</b></p><p>  BorrowBookQuery();</p><p>  tbBorrowAndBack borrow = new tbBorrowAn

31、dBack();</p><p>  borrow.bookID = txtBookNumber.Text.Trim().ToString();</p><p>  borrow.bookBorrowNum = 1;</p><p>  borrow.bookBorrowTime = DateTime.Now;</p><p>  borro

32、w.bookFine = 0;</p><p>  IsBorrwed();</p><p>  TimeSpan st = new TimeSpan(30, 0, 0, 0, 0);</p><p>  DateTime xhTime = borrow.bookBorrowTime.Subtract(-st);</p><p>  borr

33、ow.bookYgBackTime = xhTime;</p><p>  borrow.bookFine = 0;</p><p>  borrow.readerName = grpThisReader.Text;</p><p>  borrow.readerID = txtReaderID.Text;</p><p>  if (IsB

34、orrwed())//圖書編號存在于listview中</p><p><b>  {</b></p><p><b>  //更新</b></p><p>  bool b = borrowBll.UpdateBorrowComplete(borrow);</p><p><b>  i

35、f (!b)</b></p><p><b>  {</b></p><p>  MessageBox.Show("借書失敗請檢查歸還情況");</p><p><b>  return;</b></p><p><b>  }</b></

36、p><p><b>  else</b></p><p><b>  { </b></p><p>  IsBorrwed();</p><p>  if (IsBorrwed() && listView1.Items[cobCount].SubItems[4].Text == &quo

37、t;False")//判斷要借書籍是否 在lisitview中而且沒有歸還</p><p><b>  {</b></p><p>  btnGoBackBook.Visible = true;//轉(zhuǎn)向還書界面 </p><p>  hasBorrowed = true;</p><p><b> 

38、 }</b></p><p>  if (hasBorrowed)</p><p><b>  {</b></p><p>  MessageBox.Show("該書籍已由該用戶借閱且尚未歸還,請另選書籍");</p><p><b>  }</b></p>

39、;<p><b>  else</b></p><p><b>  {</b></p><p>  MessageBox.Show("借書成功");</p><p>  borrow.bookIsBack = true;</p><p><b>  }&l

40、t;/b></p><p>  i = i - 1;</p><p>  borrowBll.UpdateNum(i, txtBookNumber.Text);</p><p>  txtBookNumber.Clear();</p><p>  BorrowBookQuery();</p><p><b&

41、gt;  }</b></p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  bool b = borrowBll.InsertBorrowComplete(borrow);/

42、/插入借還表</p><p><b>  if (b)</b></p><p><b>  {</b></p><p>  MessageBox.Show("借書成功");</p><p>  borrow.bookIsBack = false;</p><p

43、>  i = i - 1;</p><p>  borrowBll.UpdateNum(i, txtBookNumber.Text);//i:該書的實際數(shù)量</p><p>  txtBookNumber.Clear();</p><p>  txtBookNumber.Focus();</p><p>  BorrowBookQuer

44、y();</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  MessageBox.Show("借書失敗,請檢查圖書編號");</p><p&g

45、t;  txtBookNumber.Clear();</p><p>  txtBookNumber.Focus();</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>

46、;<b>  }</b></p><p>  /// <summary></p><p>  /// 查詢添加listview</p><p>  /// </summary></p><p>  private void BorrowBookQuery()</p><p&g

47、t;<b>  {</b></p><p>  hasBorrowed = false;</p><p>  //listView2.Items.Clear();</p><p>  listView1.Items.Clear();</p><p>  tbBorrowAndBackBll borrowBll = new

48、 tbBorrowAndBackBll();</p><p>  int count = borrowBll.CreateBorrowInfo(txtReaderID.Text.Trim().ToString()).Count;</p><p>  if (count < 1)</p><p><b>  {</b></p>

49、<p>  btnBorrow.Enabled = true;</p><p>  txtBookNumber.Enabled = true;</p><p>  lblBookID.Enabled = true;</p><p>  txtBookNumber.Focus();</p><p>  this.AcceptButt

50、on = btnBorrow;</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  for (int i = 0; i < count; i++)</p><

51、p><b>  {</b></p><p>  tbBorrowAndBack tbBorrow = borrowBll.CreateBorrowInfo(txtReaderID.Text.Trim().ToString())[i];</p><p>  grpThisReader.Text = tbBorrow.readerName + "的借書信息

52、";</p><p>  ListViewItem Item = new ListViewItem();</p><p>  Item.Text = tbBorrow.bookID;</p><p>  Item.SubItems.Add(tbBorrow.bookName);</p><p>  Item.SubItems.Add

53、(tbBorrow.bookBorrowTime.ToString());</p><p>  TimeSpan st = new TimeSpan(30, 0, 0, 0, 0);</p><p>  DateTime xhTime = tbBorrow.bookBorrowTime.Subtract(-st);</p><p>  Item.SubItems.A

54、dd(xhTime.ToString());</p><p>  Item.SubItems.Add(tbBorrow.bookIsBack.ToString());</p><p>  listView1.Items.Add(Item);</p><p>  TimeSpan xs = new TimeSpan(1, 0, 0, 0, 0);</p>

55、<p>  if ((DateTime.Now.Subtract(xhTime) > xs) && tbBorrow.bookIsBack == false)//有未還書籍,且超期</p><p><b>  {</b></p><p>  lblGoBack.Text = "尚有到期未還書籍,請先";</p

56、><p>  btnGoBackBook.Visible = true;//轉(zhuǎn)向還書界面</p><p>  btnBorrow.Enabled = false;</p><p>  txtBookNumber.Enabled = false;</p><p>  lblBookID.Enabled = false;</p><

57、;p>  this.AcceptButton = btnGoBackBook;</p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b&g

58、t;</p><p>  btnBorrow.Enabled = true;</p><p>  txtBookNumber.Enabled = true;</p><p>  lblBookID.Enabled = true;</p><p>  txtBookNumber.Focus();</p><p>  th

59、is.AcceptButton = btnBorrow;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  this.AcceptButton = btnBorrow;</p>

60、<p><b>  }</b></p><p>  public bool IsBorrwed()</p><p><b>  {</b></p><p>  bool b = false;</p><p>  for (int i = 0; i < listView1.Item

61、s.Count; i++)//判斷獲得當(dāng)前選定圖書的在listview中的索引值</p><p><b>  {</b></p><p>  if (listView1.Items[i].SubItems[0].Text.Trim() == txtBookNumber.Text.ToString())</p><p><b>  {&

62、lt;/b></p><p>  cobCount = i;</p><p><b>  b = true;</b></p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }

63、</b></p><p><b>  return b;</b></p><p><b>  }</b></p><p>  private void FrmBorrowBook_FormClosed(object sender, FormClosedEventArgs e)</p><p&

64、gt;<b>  {</b></p><p>  FrmBookBack frmGoBack = new FrmBookBack();</p><p>  frmGoBack.Show();</p><p><b>  }</b></p><p><b>  }</b><

65、/p><p><b>  }</b></p><p>  3).借書業(yè)務(wù)BLL層主要代碼:</p><p>  public class tbBorrowAndBackBll</p><p><b>  {</b></p><p>  public List<tbBorro

66、wAndBack> CreateBorrowInfo(string readerID)</p><p><b>  {</b></p><p>  tbBorrowAndBackDal borrowDal = new tbBorrowAndBackDal();</p><p>  SqlDataReader dr = borrowDal.

67、GetReaderBrrowData(readerID);</p><p>  List<tbBorrowAndBack> tbBorrows = new List<tbBorrowAndBack>();</p><p>  while (dr.Read())</p><p><b>  {</b></p>

68、<p>  tbBorrowAndBack tbBorrow = new tbBorrowAndBack();</p><p>  tbBorrow.bookID = dr.GetString(0);</p><p>  tbBorrow.readerID = dr.GetString(1);</p><p>  tbBorrow.bookName =

69、dr.GetString(9);</p><p>  tbBorrow.bookBorrowNum = dr.GetInt32(2);</p><p>  tbBorrow.bookBorrowTime = dr.GetDateTime(3);</p><p>  tbBorrow.bookIsBack = dr.GetBoolean(6);</p>

70、<p>  tbBorrow.bookFine = dr.GetDecimal(7);</p><p>  tbBorrow.readerName = dr.GetString(8);</p><p>  tbBorrows.Add(tbBorrow);</p><p><b>  }</b></p><p>

71、  return tbBorrows;</p><p><b>  }</b></p><p>  public int StartBorrow(string bookID)</p><p><b>  {</b></p><p><b>  int i;</b></p&

72、gt;<p>  tbBorrowAndBackDal borrowDal = new tbBorrowAndBackDal();</p><p>  SqlDataReader dr = borrowDal.GetBookInfo(bookID);</p><p>  bool b = dr.HasRows;</p><p><b>  i

73、f (!b)</b></p><p><b>  {</b></p><p><b>  i = -1;</b></p><p><b>  }</b></p><p><b>  else</b></p><p>&l

74、t;b>  {</b></p><p>  dr.Read();</p><p>  i = dr.GetInt32(10);</p><p><b>  }</b></p><p><b>  return i;</b></p><p><b>

75、  }</b></p><p>  public bool InsertBorrowComplete(tbBorrowAndBack borrow)</p><p><b>  {</b></p><p>  tbBorrowAndBackDal borrowDal = new tbBorrowAndBackDal();</p

76、><p>  bool b = borrowDal.InsertBorrowBackInfo(borrow.bookID, borrow.readerID, borrow.bookBorrowNum, borrow.bookBorrowTime, borrow.bookYgBackTime, borrow.bookIsBack, borrow.bookFine);</p><p><b&

77、gt;  return b;</b></p><p><b>  }</b></p><p>  public bool UpdateBorrowComplete(tbBorrowAndBack borrow)</p><p><b>  {</b></p><p>  tbBorrow

78、AndBackDal borrowDal = new tbBorrowAndBackDal();</p><p>  bool b = borrowDal.UpdatetBorrowBackInfo(borrow.bookID, borrow.readerID, borrow.bookBorrowNum, borrow.bookBorrowTime, borrow.bookYgBackTime, borrow.b

79、ookIsBack, borrow.bookFine);</p><p><b>  return b;</b></p><p><b>  }</b></p><p>  public bool BackComplete(tbBorrowAndBack back)</p><p><b>

80、;  {</b></p><p>  tbBorrowAndBackDal backDal = new tbBorrowAndBackDal();</p><p>  bool result = backDal.BackUpdateBorrowBackInfo(back.bookID, back.bookSjBackTime, back.bookFine, back.bookI

81、sBack, back.readerID);</p><p>  return result;</p><p><b>  }</b></p><p>  public bool UpdateNum(int i, string bookID)</p><p><b>  {</b></p>

82、;<p>  bool b = false;</p><p>  tbBorrowAndBackDal borrowDal = new tbBorrowAndBackDal();</p><p>  int result = borrowDal.UpdateBookInfo(bookID, i);</p><p>  if (result > 0

83、)</p><p><b>  {</b></p><p><b>  b = true;</b></p><p><b>  }</b></p><p><b>  return b;</b></p><p><b> 

84、 }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  4).借書業(yè)務(wù)DAL層主要代碼:</p><p>  public class tbBorrowAndBackDal</p><p><b>

85、;  {</b></p><p>  public SqlDataReader GetReaderBrrowData(string readerID)</p><p><b>  {</b></p><p>  string sql = "select tbBorrowAndBack.*,tbReader.readerNa

86、me,tbBookInfo.bookName from tbBorrowAndBack inner join tbReader on tbReader.readerID=tbBorrowAndBack.readerID inner join tbBookInfo on tbBorrowAndBack.bookID=tbBookInfo.bookID where tbBorrowAndBack.readerID=@readerID&q

87、uot;;</p><p>  SqlParameter para=new SqlParameter("@readerID",readerID);</p><p>  SqlDataReader drBorrow = SqlHelper.ExecuteDataReader(sql, CommandType.Text,para);</p><p>

88、  return drBorrow;</p><p><b>  }</b></p><p>  public SqlDataReader GetBookInfo(string bookID)</p><p><b>  {</b></p><p>  string sql = "sele

89、ct * from tbBookInfo where bookID=@bookID";</p><p>  SqlParameter para = new SqlParameter("@bookID", bookID);</p><p>  SqlDataReader borBookDr= SqlHelper.ExecuteDataReader(sql, Co

90、mmandType.Text,para);</p><p>  return borBookDr;</p><p><b>  }</b></p><p>  public bool InsertBorrowBackInfo(string bookID,string readerID,int bookBorrowNum,DateTime bo

91、okBorrowTime,DateTime bookYgBackTime,bool bookIsBack,decimal bookFine)</p><p><b>  {</b></p><p><b>  try</b></p><p><b>  {</b></p><p&g

92、t;  string sql = "insert into tbBorrowAndBack (bookID, readerID, bookBorrowNum, bookBorrowTime, bookYgBackTime, bookIsBack, bookFine) values (@bookID,@readerID,@bookBorrowNum,@bookBorrowTime,@bookYgBackTime,@bookIsB

93、ack,@bookFine) ";</p><p>  SqlParameter[] para = { new SqlParameter("@bookID", bookID), new SqlParameter("@readerID", readerID), new SqlParameter("@bookBorrowNum", bookBorr

94、owNum), new SqlParameter("@bookBorrowTime", bookBorrowTime), new SqlParameter("@bookYgBackTime", bookYgBackTime), new SqlParameter("@bookIsBack", bookIsBack), new SqlParameter("@bookFin

95、e", bookFine) };</p><p>  SqlHelper.ExecuteNonQuery(sql, CommandType.Text, para);</p><p>  return true;</p><p><b>  }</b></p><p><b>  catch </

96、b></p><p><b>  {</b></p><p>  return false;</p><p><b>  }</b></p><p><b>  }</b></p><p>  public bool BackUpdateBorr

97、owBackInfo(string bookID, DateTime bookSjBackTime, decimal bookFine, bool bookIsBack,string readerID)</p><p><b>  {</b></p><p><b>  try</b></p><p><b> 

98、 {</b></p><p>  string sql = "update tbBorrowAndBack set bookSjBackTime=@bookSjBackTime,bookFine=@bookFine,bookIsBack=@bookIsBack where bookID=@bookID";</p><p>  SqlParameter[] p

99、ara = { new SqlParameter("@bookSjBackTime", bookSjBackTime), new SqlParameter("@bookFine", bookFine), new SqlParameter("@bookIsBack", bookIsBack), new SqlParameter("@bookID", bookI

100、D) ,new SqlParameter("@readerID",readerID)};</p><p>  SqlHelper.ExecuteNonQuery(sql, CommandType.Text, para);</p><p>  return true;</p><p><b>  }</b></p>

101、<p><b>  catch</b></p><p><b>  {</b></p><p>  return false;</p><p><b>  }</b></p><p><b>  }</b></p><p&

102、gt;  public bool UpdatetBorrowBackInfo(string bookID, string readerID, int bookBorrowNum, DateTime bookBorrowTime, DateTime bookYgBackTime, bool bookIsBack, decimal bookFine)</p><p><b>  {</b><

103、;/p><p><b>  try</b></p><p><b>  {</b></p><p>  string sql = "update tbBorrowAndBack set bookBorrowNum=@bookBorrowNum,bookBorrowTime=@bookBorrowTime,bookYg

104、BackTime=@bookYgBackTime,bookIsBack=@bookIsBack,bookFine=@bookFine where bookID=@bookID and readerID=@readerID";</p><p>  SqlParameter[] para = { new SqlParameter("@bookID", bookID), new SqlPa

105、rameter("@readerID", readerID), new SqlParameter("@bookBorrowNum", bookBorrowNum), new SqlParameter("@bookBorrowTime", bookBorrowTime), new SqlParameter("@bookYgBackTime", bookYgBa

106、ckTime), new SqlParameter("@bookIsBack", bookIsBack), new SqlParameter("@bookFine", bookFine) };</p><p>  SqlHelper.ExecuteNonQuery(sql, CommandType.Text, para);</p><p>  ret

107、urn true;</p><p><b>  }</b></p><p><b>  catch</b></p><p><b>  {</b></p><p>  return false;</p><p><b>  }</b>

108、;</p><p><b>  }</b></p><p>  public int UpdateBookInfo(string bookID,int i)</p><p><b>  {</b></p><p>  string sql = "update tbBookInfo set

109、 bookRealNum=@i where bookID=@bookID"; </p><p>  //string sqll = "update tbBookInfo set bookLendNum=bookLendNum+1 where bookID=@bookID"; </p><p>  SqlParameter

110、[] paras = {new SqlParameter("@bookID", bookID),new SqlParameter ("@i",i)};</p><p>  SqlParameter paral = new SqlParameter("@bookID", bookID);</p><p>  //int result

111、Lend = SqlHelper.ExecuteNonQuery(sqll, CommandType.Text,paral);</p><p>  int result = SqlHelper.ExecuteNonQuery(sql, CommandType.Text,paras);</p><p>  return result;</p><p><b>

112、;  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p> ?。ǘ?還書業(yè)務(wù)代碼實現(xiàn):</p><p>  1).Model類代碼</p><p>  參見借書業(yè)務(wù)Model類</p><

113、;p><b>  2).UI層代碼</b></p><p>  public partial class FrmBookBack : Form</p><p><b>  {</b></p><p>  public FrmBookBack()</p><p><b>  {<

114、/b></p><p>  InitializeComponent();</p><p><b>  }</b></p><p>  private int cobCount;//用來獲得要還書的編號</p><p>  private decimal faKuan = 0;//記錄罰款</p>&l

115、t;p>  public enum IsBack</p><p><b>  {</b></p><p><b>  是,</b></p><p><b>  否</b></p><p><b>  }</b></p><p>

116、;  private List<string> bookNames = new List<string>();</p><p>  private void btnQuery_Click(object sender, EventArgs e)</p><p><b>  {</b></p><p>  comboBox1

117、.Items.Clear();</p><p>  LoadQueryInfo();</p><p><b>  }</b></p><p>  private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)</p><p><b>

118、;  {</b></p><p>  btnBookBack.Enabled = true;//選擇時讓還書按鈕可用</p><p>  int index = comboBox1.SelectedIndex;//獲得當(dāng)前選擇的索引</p><p>  //當(dāng)前選定項的圖書名稱和listview中的ITEM.TEXT比較</p><p

119、>  //listView2.Items</p><p>  for (int i = 0; i < bookNames.Count; i++)//判斷獲得當(dāng)前選定圖書的在listview中的索引值</p><p><b>  {</b></p><p>  if (bookNames[i] == comboBox1.Selecte

120、dItem.ToString())</p><p><b>  {</b></p><p>  cobCount = i;</p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }

121、</b></p><p><b>  }</b></p><p>  private void btnBookBack_Click(object sender, EventArgs e)//確定歸還,更新數(shù)據(jù)</p><p><b>  {</b></p><p>  if (combo

122、Box1.Items.Count==0)</p><p><b>  {</b></p><p>  btnBookBack.Enabled = false;</p><p><b>  }</b></p><p><b>  else</b></p><p

123、><b>  {</b></p><p>  tbBorrowAndBack back = new tbBorrowAndBack();</p><p>  tbBorrowAndBackBll backBll = new tbBorrowAndBackBll();</p><p>  back.bookID = listView2.It

124、ems[cobCount].Text;</p><p>  back.readerID = txtReaderID.Text.Trim().ToString();</p><p>  back.bookFine = faKuan;</p><p>  back.bookSjBackTime = DateTime.Now;</p><p>  

125、back.bookIsBack = true;</p><p>  backBll.UpdateNum(-1, back.bookID);</p><p>  bool result = backBll.BackComplete(back);</p><p>  if (result)</p><p><b>  {</b&g

126、t;</p><p>  MessageBox.Show("還書成功!");</p><p>  comboBox1.Items.Clear();</p><p>  comboBox1.Text = "";</p><p>  LoadQueryInfo();</p><p>

127、  ControlcomBoxEnable();</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  private void ControlcomBoxEnable()</p>

128、<p><b>  {</b></p><p>  for (int i = 0; i < listView2.Items.Count; i++)//判斷是否全部已還,用來獲得信息設(shè)置combox的可用性</p><p><b>  {</b></p><p>  if (listView2.Items

129、[i].SubItems[4].Text.Trim() == "否")</p><p><b>  {</b></p><p>  comboBox1.Enabled = true;</p><p>  label2.Enabled = true;</p><p>  this.AcceptButto

130、n = btnBookBack;</p><p>  btnBookBack.Enabled = true;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  //

131、/ <summary></p><p>  /// 查詢信息添加到listview</p><p>  /// </summary></p><p>  private void LoadQueryInfo()</p><p><b>  {</b></p><p>  l

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論