版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- c課程設(shè)計報告-- 圖書管理系統(tǒng)
- c語言課程設(shè)計報告~圖書管理系統(tǒng)
- c語言圖書管理系統(tǒng)課程設(shè)計報告
- c語言圖書管理系統(tǒng)課程設(shè)計報告
- 圖書管理系統(tǒng)-c語言課程設(shè)計報告
- c++課程設(shè)計報告-圖書管理系統(tǒng)
- c課程設(shè)計---圖書管理系統(tǒng)課程設(shè)計
- 小型圖書管理系統(tǒng)c語言課程設(shè)計報告
- c++課程設(shè)計報告--小型圖書管理系統(tǒng)
- c++課程設(shè)計--圖書管理系統(tǒng)
- 圖書管理系統(tǒng)c++課程設(shè)計
- c語言課程設(shè)計--圖書管理系統(tǒng)
- c++圖書管理系統(tǒng)課程設(shè)計
- c++圖書管理系統(tǒng)課程設(shè)計
- c語言課程設(shè)計--圖書管理系統(tǒng)
- c語言課程設(shè)計(圖書管理系統(tǒng))
- c#-圖書管理系統(tǒng)-課程設(shè)計
- c++圖書管理系統(tǒng)課程設(shè)計
- c語言課程設(shè)計-圖書管理系統(tǒng)
- c語言課程設(shè)計---圖書管理系統(tǒng)
評論
0/150
提交評論