版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 課 程 設 計 說 明 書</p><p><b> 數(shù)據庫課程實驗周</b></p><p> 2010年 6 月10日</p><p><b> 1 系統(tǒng)設計 </b></p><p><b> 1.1設計目標</b></p>
2、<p> 在學習了數(shù)據庫原理和SQL Server 2000數(shù)據庫管理系統(tǒng)后,采用Visual C++編程語言開發(fā)工具,設計并實現(xiàn)圖書管理系統(tǒng)。</p><p> 本課程的目的是培養(yǎng)學生數(shù)據庫技術的綜合應用能力,通過設計開發(fā)一個小型的數(shù)據庫管理系統(tǒng),將原理與應用相結合,鍛煉學生實際問題的分析、設計與編程能力。</p><p> 1.2 開發(fā)和運行環(huán)境選擇</p>
3、<p> 開發(fā)工具: 前臺開發(fā)語言為Visual C++,后臺數(shù)據庫為SQL Server 2000</p><p> 運行環(huán)境: windows 2000及更高的操作系統(tǒng) </p><p><b> 數(shù)據庫設計</b></p><p><b> 2.1 需求描述</b></p><
4、;p> 圖書管理系統(tǒng)程序運行界面分為登陸界面,功能選擇系統(tǒng)主菜單界面兩個主要界面。使用時應先知道管理員帳號和密碼,登陸進入系統(tǒng)主菜單界面,里面包括用戶信息管理,讀者信息管理,圖書信息管理,借書還書信息管理,關于系統(tǒng)等五個菜單選項,并其內部功能分別對應工具欄中的功能。其中用戶信息管理包括增加用戶、刪除用戶、修改密碼、查詢用戶和退出系統(tǒng)。讀者信息管理包括增加讀者、刪除讀者、修改讀者和查詢讀者。圖書信息管理包括添加圖書、刪除圖書、修改
5、圖書和查詢圖書。借書還書信息管理包括借書操作、還書操作、續(xù)借操作和查詢操作。</p><p> 借書還書管理子系統(tǒng)的具體功能目標如下:</p><p> (1)借書操作:用戶借書后在借出圖書信息表中添加用戶信息及書籍信息等,并將圖書信息表中的數(shù)量減1。</p><p> (2)續(xù)借操作:當用戶借閱圖書后,如需延長借閱日期則可使用此功能續(xù)借圖書。</p&g
6、t;<p> (3)還書操作:用戶歸還書籍后在借書表中刪除借出信息,同時在圖書信息表中將對應書籍的數(shù)量加1,便于他人借閱。并在還書表中增加借書歷史的信息。</p><p> (4)逾期罰金:歸還書籍時如果超過期限,規(guī)定超過一天罰0.1元錢。 </p><p> (5)查詢借書信息:查詢借書表中讀者已借的圖書信息。</p><p><b&g
7、t; 數(shù)據庫概念設計</b></p><p> 系統(tǒng)功能結構圖:描述系統(tǒng)要實現(xiàn)的各個模塊的功能</p><p> 圖1 圖書管理系統(tǒng)功能結構圖</p><p> 圖2 圖書管理系統(tǒng)總體E-R圖</p><p> 圖3 圖書信息表E-R圖</p><p> 圖書(圖書編號,圖書名,價格,類別
8、名,出版社, 作者, 數(shù)量, ISBN)</p><p> 圖4 讀者信息表E-R圖</p><p> 讀者(借書證號,姓名,班級,學號,密碼,性別,到期日期)</p><p> 圖5 管理員表E-圖</p><p> 管理員(用戶名,密碼,權限)</p><p><b> 數(shù)據庫邏輯設計<
9、;/b></p><p> 用戶信息表(users):</p><p> 表1 用戶表(users)</p><p> 讀者信息表(reader):</p><p> 表2 讀者表(reader)</p><p> 圖書信息表(book):</p><p> 表3 圖書表
10、(book)</p><p> 借書信息表(jsb):</p><p> 表4 借書表(jsb)</p><p> 還書信息表(hsb):</p><p> 表5 還書表(hsb)</p><p> 3 圖書管理系統(tǒng)(借書還書管理子系統(tǒng))詳細設計</p><p><b>
11、; 3.1登陸界面:</b></p><p><b> 圖6 登陸界面圖</b></p><p> 功能:提供用戶登錄,使用戶能操作圖書管理系統(tǒng)。</p><p><b> 代碼:</b></p><p> void CLoginDlg::OnLoginbr() //
12、登錄系統(tǒng)</p><p><b> {</b></p><p> CString str1,str2;</p><p> int suc;</p><p> if(m_uet.IsOpen())</p><p> {//打開數(shù)據庫</p><p>
13、m_uet.Close();</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> m_uet.Open();</p><p><b> }</
14、b></p><p> if(!m_uet.CanUpdate())</p><p><b> {</b></p><p> AfxMessageBox(_T("無法登錄"));</p><p><b> }</b></p><p>&l
15、t;b> else</b></p><p><b> {</b></p><p> GetDlgItemText(IDC_EDIT1,str1);//獲得編輯框中的內容</p><p> GetDlgItemText(IDC_EDIT2,str2);</p><p> m_uet.Move
16、First();</p><p> while(!m_uet.IsEOF()){</p><p> m_uet.m_users.Replace(" ","");//去掉空格以便于比較</p><p> m_uet.m_passwd.Replace(" ","");</p&g
17、t;<p> if(m_uet.m_users==str1 && m_uet.m_passwd==str2)//判斷用戶名和密碼</p><p><b> { </b></p><p><b> suc = 1;</b></p><p><b> break;</b&
18、gt;</p><p><b> }</b></p><p><b> else</b></p><p><b> { </b></p><p> m_uet.MoveNext();</p><p><b> }</b>&
19、lt;/p><p><b> }</b></p><p> if(suc==1)</p><p><b> {</b></p><p> OnOK();//用戶名和密碼正確,登錄系統(tǒng)</p><p><b> }</b></p>
20、<p><b> else</b></p><p><b> {</b></p><p> MessageBox("用戶名或密碼錯誤,請重新輸入!");</p><p><b> }</b></p><p><b>
21、}</b></p><p> m_uet.Close();</p><p><b> }</b></p><p> void CLoginDlg::OnCancel() //退出系統(tǒng)</p><p><b> {</b></p><p> ExitP
22、rocess(1);</p><p><b> }</b></p><p><b> 3.2主菜單界面:</b></p><p> 圖7 主菜單界面圖</p><p> 功能:主菜單界面包含圖書管理系統(tǒng)的所有功能,具體如下:</p><p> 1)用戶管理模塊:
23、添加用戶,刪除用戶,修改密碼,查詢用戶信息。</p><p> 2)讀者管理模塊: 添加讀者,刪除讀者,修改讀者信息,查詢讀者信息。</p><p> 3)圖書管理模塊: 添加圖書,刪除圖書,修改圖書信息,查詢圖書信息。</p><p> 4)借書和還書操作模塊:借書操作,還書操作,續(xù)借操作,查詢借書信息。</p><p> 借書還書
24、子系統(tǒng)界面、功能及實現(xiàn)代碼如下:</p><p><b> 借書操作:</b></p><p><b> 借書操作界面:</b></p><p> 圖8 借書操作界面圖</p><p> 借書操作功能:用戶借書后在借出圖書信息表中添加用戶信息及書籍信息等,并將圖書信息表中對應圖書的數(shù)量減1
25、。</p><p><b> 借書操作代碼:</b></p><p> void CLibraryView::OnBorrowsys() //響應借書操作模態(tài)對話框</p><p><b> {</b></p><p> CBorrowDlg bordlg;</p><
26、p> bordlg.DoModal();</p><p><b> }</b></p><p> void CBorrowDlg::OnBorrow() //借書操作</p><p><b> {</b></p><p> CTime time=CTime::GetCurrentT
27、ime();//獲得系統(tǒng)當前時間</p><p> int m=0,suc=0,success=0;//定義變量</p><p> CString str;</p><p> if(m_jet.IsOpen()){//打開數(shù)據庫</p><p> m_jet.Close();</p><p><b
28、> }</b></p><p><b> else{</b></p><p> m_jet.Open();</p><p><b> }</b></p><p> if(!m_jet.CanUpdate()){</p><p> AfxMessa
29、geBox(_T("不能完成借書功能!"));</p><p><b> }</b></p><p><b> else{</b></p><p> m_jet.MoveLast();//將記錄移到最后</p><p> m_jet.AddNew();//增
30、加新紀錄</p><p> UpdateData(TRUE);//更新數(shù)據庫記錄</p><p> m_jet.m_reader_code = m_borrow1;</p><p> m_jet.m_book_code = m_borrow2;</p><p> str=m_jet.m_book_code;</p>
31、<p> m_jet.m_borrow_date =time;</p><p> if(time.GetMonth()==2){</p><p><b> m=28;</b></p><p><b> }</b></p><p> else if(time.GetMonth()
32、==4||time.GetMonth()==6||time.GetMonth()==9||time.GetMonth()==11){</p><p><b> m=30;</b></p><p><b> }</b></p><p><b> else{</b></p><p
33、><b> m=31;</b></p><p><b> }</b></p><p> CTimeSpan tmsp(m,0,0,0);</p><p> time = time+tmsp;</p><p> m_jet.m_return_date = time;</p>
34、<p> UpdateData(FALSE);</p><p> m_jet.Update();</p><p> m_jet.Close();</p><p><b> }</b></p><p> if(m_jbet.IsOpen()){//打開數(shù)據庫</p><p&g
35、t; m_jbet.Close();</p><p><b> }</b></p><p><b> else{</b></p><p> m_jbet.Open();</p><p><b> }</b></p><p> if(!m_jb
36、et.CanUpdate()){</p><p> AfxMessageBox(_T("不能完成借書功能!"));</p><p><b> }</b></p><p><b> else{</b></p><p> m_jbet.MoveFirst();</p
37、><p> while (!m_jbet.IsEOF()) {//判斷是否到達最后一條記錄</p><p> m_jbet.m_book_code.Replace(" ","");</p><p> if(m_jbet.m_book_code!=str){//找到當前借出圖書的信息</p><p&
38、gt; m_jbet.MoveNext();</p><p><b> }</b></p><p><b> else{</b></p><p> success=1;</p><p><b> suc=1;</b></p><p><b
39、> break;</b></p><p><b> }</b></p><p><b> }</b></p><p> if(success==1)</p><p><b> {</b></p><p> m_jbet.E
40、dit();</p><p> m_jbet.m_num=m_jbet.m_num-1;//將當前圖書數(shù)量減1</p><p> m_jbet.Update();</p><p> m_jbet.Close();//關閉數(shù)據庫</p><p><b> }</b></p><p>
41、;<b> }</b></p><p> if(suc==1)</p><p><b> {</b></p><p> MessageBox("借書成功!");</p><p><b> }</b></p><p>&
42、lt;b> else</b></p><p><b> {</b></p><p> MessageBox("借書失敗!");</p><p><b> }</b></p><p> m_pbt->Invalidate();//重繪窗口<
43、;/p><p><b> }</b></p><p><b> 還書操作:</b></p><p><b> 還書操作界面:</b></p><p> 圖9 還書操作界面圖</p><p> 還書操作功能:用戶歸還書籍后在借書表中刪除借出信息,同
44、時在圖書信息表中將對應書籍的數(shù)量加1,便于他人借閱,若所借圖書超出限制歸還的期限應繳納罰款金額,并在還書表中增加借書歷史信息。</p><p><b> 還書操作代碼:</b></p><p> void CLibraryView::OnReturnsys() //響應還書操作模態(tài)對話框</p><p><b> {<
45、/b></p><p> CReturnDlg retdlg;</p><p> retdlg.DoModal();</p><p><b> }</b></p><p> void CReturnDlg::OnReturn() //還書操作</p><p><b>
46、{</b></p><p> CString edit1,edit2,str,str1,str2,str3;//定義變量</p><p><b> CTime t1;</b></p><p> int suc=0,success=0;</p><p> if(m_jret.IsOpen())
47、//打開數(shù)據庫借書表</p><p> m_jret.Close();</p><p> m_jret.Open();</p><p> if (!m_jret.CanUpdate())</p><p><b> {</b></p><p> AfxMessageBox(_T("
48、;無法完成還書功能!"));</p><p><b> }</b></p><p> if(m_ret.IsOpen())//打開數(shù)據庫還書表</p><p> m_ret.Close();</p><p> m_ret.Open();</p><p> if(!m_re
49、t.CanUpdate())</p><p><b> {</b></p><p> AfxMessageBox(_T("無法完成還書功能!"));</p><p><b> }</b></p><p> CTime time=CTime::GetCurrentTime(
50、);//獲得系統(tǒng)當前時間</p><p> UpdateData();</p><p> GetDlgItemText(IDC_EDIT2,edit1);//獲得編輯框中的內容</p><p> GetDlgItemText(IDC_EDIT3,edit2);</p><p> m_jret.MoveFirst();</
51、p><p> while(!m_jret.IsEOF())//判斷是否到最后一條記錄</p><p><b> {</b></p><p> m_jret.m_reader_code.Replace(" ","");//合并空格</p><p> m_jret.m_boo
52、k_code.Replace(" ","");</p><p> if(m_jret.m_reader_code==edit1 && m_jret.m_book_code==edit2){//比較</p><p> t1=m_jret.m_return_date;</p><p><b> s
53、uc=1;</b></p><p><b> break;</b></p><p><b> }</b></p><p><b> else</b></p><p> m_jret.MoveNext();//下移一條表中記錄</p><
54、;p><b> }</b></p><p> if(suc==1)</p><p><b> {</b></p><p> m_ret.MoveLast();</p><p> m_ret.AddNew();//在還書表中增加借書歷史記錄</p><p>
55、; m_ret.m_reader_code = m_return1;</p><p> m_ret.m_book_code = m_return2;</p><p> str=m_ret.m_book_code;</p><p> m_ret.m_return_date=time;</p><p> str1=m_ret.m_ret
56、urn_date.Format(_T("%Y-%m-%d %H:%M:%S"));//時間類型轉換為字符串類型</p><p> SetDlgItemText(IDC_EDIT4,str1);</p><p> m_ret.m_limite_date = t1;</p><p> str2=m_ret.m_limite_date.Forma
57、t(_T("%Y-%m-%d %H:%M:%S"));</p><p> SetDlgItemText(IDC_EDIT5,str2);</p><p> CTime begin=m_ret.m_return_date;</p><p> CTime end=m_ret.m_limite_date;</p><p>
58、 int y1=begin.GetYear();//獲得年</p><p> int y2=end.GetYear();</p><p> int m1=begin.GetMonth();//獲得月</p><p> int m2=end.GetMonth();</p><p> int d1=begin.GetDay();
59、//獲得日</p><p> int d2=end.GetDay();</p><p> int num=(y2*365+m2*30+d2*1)-(y1*365+m1*30+d1*1);</p><p> float mon;</p><p> mon=num*0.1-3;//計算罰金</p><p>
60、 m_ret.m_punish=mon;</p><p> str3.Format("%f",m_ret.m_punish);</p><p> SetDlgItemText(IDC_EDIT6,str3);</p><p> m_ret.Update();</p><p> MessageBox("還書
61、成功!");</p><p> m_ret.Close();//關閉數(shù)據庫還書表</p><p> m_jret.MoveFirst();</p><p> while(!m_jret.IsEOF())</p><p><b> {</b></p><p> m_jret.
62、m_reader_code.Replace(" ","");</p><p> m_jret.m_book_code.Replace(" ","");</p><p> if(m_jret.m_reader_code==edit1 && m_jret.m_book_code==edit2)&
63、lt;/p><p><b> {</b></p><p> m_jret.Delete();//刪除借書表中的信息</p><p><b> break;</b></p><p><b> }</b></p><p><b> else
64、</b></p><p> m_jret.MoveNext();</p><p><b> }</b></p><p> m_jret.Close();//關閉借書表</p><p><b> }</b></p><p><b> else
65、</b></p><p><b> {</b></p><p> MessageBox("歸還失敗!");</p><p><b> }</b></p><p> if(m_bret.IsOpen())//打開圖書表</p><p>
66、;<b> {</b></p><p> m_bret.Close();</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> m_
67、bret.Open();</p><p><b> }</b></p><p> if(!m_bret.CanUpdate())</p><p><b> {</b></p><p> AfxMessageBox(_T("不能完成借書功能!"));</p>
68、<p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> m_bret.MoveFirst();</p><p> while (!m_bret.IsEOF()) {</p&g
69、t;<p> m_bret.m_book_code.Replace(" ","");</p><p> if(m_bret.m_book_code!=str)</p><p><b> {</b></p><p> m_bret.MoveNext();</p><
70、p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> success=1;</p><p><b> break;</b></p><p>&l
71、t;b> }</b></p><p><b> }</b></p><p> if(success==1)</p><p><b> {</b></p><p> m_bret.Edit();</p><p> m_bret.m_num=m_b
72、ret.m_num+1;//圖書表中對應圖書數(shù)量加1</p><p> m_bret.Update();</p><p> m_bret.Close();//關閉圖書表</p><p><b> }</b></p><p><b> }</b></p><p&g
73、t; m_prt->Invalidate();</p><p><b> }</b></p><p><b> 續(xù)借操作:</b></p><p><b> 續(xù)借操作界面:</b></p><p> 圖10 續(xù)借操作界面圖</p><p
74、> 續(xù)借操作功能:當用戶借閱圖書后,如需延長借閱日期則可使用此功能續(xù)借圖書。</p><p><b> 續(xù)借操作代碼:</b></p><p> void CLibraryView::OnReborrowbook() //響應續(xù)借操作模態(tài)對話框</p><p><b> {</b></p>&
75、lt;p> CReborrowDlg reborrowdlg;</p><p> reborrowdlg.DoModal();</p><p><b> }</b></p><p> void CReborrowDlg::OnReborrow() //續(xù)借操作</p><p><b> {&l
76、t;/b></p><p> CString edit1,edit2;//定義變量</p><p> CTime time;</p><p><b> int m;</b></p><p><b> BOOL suc;</b></p><p> if(m_
77、rbet.IsOpen())//打開數(shù)據庫借書表</p><p> m_rbet.Close();</p><p> m_rbet.Open();</p><p> if (!m_rbet.CanUpdate())</p><p><b> {</b></p><p> AfxMes
78、sageBox(_T("無法修改數(shù)據庫記錄"));</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> GetDlgItemText(IDC_EDIT1,edit1
79、);//獲得編輯框的內容</p><p> GetDlgItemText(IDC_EDIT2,edit2);</p><p> m_rbet.MoveFirst();</p><p> while(!m_rbet.IsEOF()){</p><p> m_rbet.m_reader_code.Replace(" "
80、;,"");//合并空格</p><p> m_rbet.m_book_code.Replace(" ","");</p><p> if(m_rbet.m_reader_code != edit1 && m_rbet.m_book_code!=edit2)</p><p><b
81、> {</b></p><p> m_rbet.MoveNext();</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p>&l
82、t;b> suc=true;</b></p><p><b> break;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> if(suc)</b></p>
83、;<p><b> {</b></p><p> m_rbet.Edit();</p><p> time=m_rbet.m_return_date;</p><p> if(time.GetMonth()==2)</p><p><b> m=28;</b></p
84、><p><b> else</b></p><p> if(time.GetMonth()==4||time.GetMonth()==6||time.GetMonth()==9||time.GetMonth()==11)</p><p><b> m=30;</b></p><p><b&
85、gt; else</b></p><p><b> m=31;</b></p><p> CTimeSpan tmsp(m,0,0,0);</p><p> time = time+tmsp;</p><p> m_rbet.m_return_date = time;//續(xù)借一個月</p&g
86、t;<p> m_rbet.Update();</p><p><b> }</b></p><p><b> else</b></p><p> MessageBox("無此圖書或學號,請重新輸入!");</p><p> m_rbet.Close();
87、</p><p> MessageBox("續(xù)借成功!");</p><p> m_prbt->Invalidate(); //重繪窗口</p><p><b> }</b></p><p><b> }</b></p><p><
88、b> 查詢操作:</b></p><p><b> 查詢操作界面:</b></p><p> 圖11 查詢操作界面圖</p><p> 查詢操作功能:查詢借書表中讀者已借的圖書信息。</p><p><b> 查詢操作代碼:</b></p><p&
89、gt; void CLibraryView::OnChecksys() </p><p><b> {</b></p><p> CcheckDlg chedlg;</p><p> Chedlg.DoModal();</p><p><b> }</b></p><p
90、> void CCheckDlg::OnCheck() //查詢讀者借書信息</p><p><b> {</b></p><p> CString edit1,str1,str2;//定義變量</p><p> int suc=0;</p><p> if(m_cet.IsOpen())</
91、p><p> {//打開數(shù)據庫借書表</p><p> m_cet.Close();</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p&g
92、t; m_cet.Open();</p><p><b> }</b></p><p> if (!m_cet.CanUpdate())</p><p><b> {</b></p><p> AfxMessageBox(_T("無法查詢數(shù)據庫記錄"));</p&
93、gt;<p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> GetDlgItemText(IDC_EDIT5,edit1);//獲得編輯框中的內容</p><p> m_cet
94、.MoveFirst();</p><p> while(!m_cet.IsEOF()){</p><p> m_cet.m_reader_code.Replace(" ","");//合并空格</p><p> if(m_cet.m_reader_code != edit1)//比較借書證號是否匹配</p
95、><p><b> {</b></p><p> m_cet.MoveNext();</p><p><b> }</b></p><p><b> Else</b></p><p><b> {</b></p
96、><p><b> suc=1;</b></p><p> break;</p><p><b> }</b></p><p><b> }</b></p><p> if(suc==1)</p><p> {
97、//若匹配則返回借書信息</p><p> SetDlgItemText(IDC_EDIT1,m_cet.m_reader_code);</p><p> SetDlgItemText(IDC_EDIT2,m_cet.m_book_code);</p><p> str1=m_cet.m_borrow_date.Format(_T("%Y-%m-%d
98、 %H:%M:%S")); </p><p> SetDlgItemText(IDC_EDIT3,str1);</p><p> str2=m_cet.m_return_date.Format(_T("%Y-%m-%d %H:%M:%S")); </p><p> SetDlgItemText(IDC_EDIT4,str2);&
99、lt;/p><p> UpdateData();</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> MessageBox("此同學未借書或無此學號,請
100、重新輸入!");</p><p><b> }</b></p><p> m_cet.Close();//關閉數(shù)據庫借書表</p><p> m_pct->Invalidate(); //重繪窗口</p><p><b> }</b></p><p
101、><b> }</b></p><p><b> 關于系統(tǒng):</b></p><p><b> 關于系統(tǒng)界面:</b></p><p> 圖12 關于系統(tǒng)界面圖</p><p> 關于系統(tǒng)的功能:介紹開發(fā)環(huán)境和運行環(huán)境。</p><p>
102、;<b> 關于系統(tǒng)的代碼:</b></p><p> void CLibraryView::OnHelpdlg() </p><p><b> {</b></p><p> CIntroDlg introdlg;</p><p> introdlg.DoModal();</p>
103、;<p><b> }</b></p><p><b> 4 系統(tǒng)測試</b></p><p> 4.1借書操作測試:</p><p> 測試方法:輸入一讀者表中存在的借書證號和一圖書表中存在的圖書編號點擊借書進行測試,若提示借書成功信息,且借書表中對應的添加了一條新紀錄,同時圖書表對應圖書編號的圖
104、書數(shù)量減1,若以上兩條均已實現(xiàn),則證明借書操作正確,否則借書操作不正確。</p><p> 測試數(shù)據:以借書證號:00001,圖書編號:55555為例,測試結果如下:</p><p> 圖13 借書操作測試界面圖</p><p> 經查看表,執(zhí)行借書操作前,圖書表中圖書編號為55555的圖書數(shù)量為4,執(zhí)行借書操作后此編號的圖書數(shù)量為3,且借書表中對應增加了一
105、條信息。</p><p> 測試結論:經反復測試由測試數(shù)據可知:借書操作功能已經實現(xiàn)。</p><p> 4.2還書操作測試:</p><p> 測試方法:輸入一借書表中的借書證號和對應的圖書編號點擊還書進行測試,若提示還書成功信息,且查詢還書表中對應的添加了一條新紀錄,同時圖書表對應圖書編號的圖書數(shù)量是否加1,并且借書表中對應此條信息已經刪除,若以上三條均已
106、實現(xiàn),則證明還書操作正確,否則還書操作不正確。</p><p> 測試數(shù)據:以借書證號:00001,圖書編號:55555為例,測試結果如下:</p><p> 圖14 還書操作測試界面圖</p><p> 經查看表,執(zhí)行還書操作前,圖書表中圖書編號為55555的圖書數(shù)量為3,執(zhí)行借書操作后此編號的圖書數(shù)量為4,且借書表中對應以上借書證號和圖書編號的信息已經刪
107、除,同時在還書表中增加了一條對應的信息。</p><p> 測試結論:經反復測試由測試數(shù)據可知:還書操作功能已經實現(xiàn)。</p><p> 4.3續(xù)借操作測試:</p><p> 測試方法:輸入一借書表中的借書證號和對應的圖書編號點擊續(xù)借進行測試,若提示續(xù)借成功信息,并且借書表中的應還日期增加了一個月。則證明續(xù)借操作正確,否則不正確。</p>&l
108、t;p> 測試數(shù)據:以借書證號:11111,圖書編號:11111為例,測試結果如下:</p><p> 圖15 還書操作測試界面圖</p><p> 經查看表,執(zhí)行續(xù)借操作前應還日期為2010-5-22,執(zhí)行還書操作后應還日期為2010-6-22</p><p> 測試結論:經反復測試由測試數(shù)據可知:續(xù)借操作功能已經實現(xiàn)。</p>&l
109、t;p> 4.4查詢操作測試:</p><p> 測試方法:輸入一借書表中的借書證號點擊查詢進行測試,若在查詢系統(tǒng)的編輯框中成功顯示查詢到的信息,或提示“無此借書證號, 請重新輸入”,則證明還書操作正確,否則還書操作不正確。</p><p> 測試數(shù)據:以借書證號:00001為例,測試結果如下:</p><p> 圖16 續(xù)借操作測試界面圖</
110、p><p> 查詢系統(tǒng)的編輯框中成功顯示查詢到的信息,且按上一條下一條能查看其他信息。</p><p> 測試結論:經反復測試由測試數(shù)據可知:查詢操作功能已經實現(xiàn)。</p><p><b> 5 個人體會</b></p><p> 學校為了提高我們的實踐能力,讓我們學以致用,能靈活運用所學的知識進行編程實現(xiàn)一些小
111、的程序,特安排我們進行為期兩周的數(shù)據庫的課程設計,并安排了指導老師幫助輔導,讓我們在規(guī)范化、嚴謹化、實用化上面有了很大進展。</p><p> 通過本次數(shù)據庫課程設計,我掌握了用Visual C++作為前臺語言對數(shù)據庫的操作方法,例如:增加數(shù)據庫記錄的AddNew()方法,刪除數(shù)據庫記錄的Delete()方法以及修改數(shù)據庫記錄的Edit()方法等。明白了定義一些變量或對象時一定要注意它是否包含這個類的頭文件。若
112、未包含則一定要手工將頭文件包含進來。例如:在類CBorrewDlg中定義變量CLibraryView* m_pbt;時一定要在這個類中增加頭文件#include "LibraryView.h",否則將會出現(xiàn)錯誤。知道了視圖類和文檔類相關聯(lián)的方法。同時經過學習知道了很多控件的使用方法。</p><p> 在此次圖書管理系統(tǒng)的開發(fā)過程中,也遇到了許多的問題比如:數(shù)據庫連接錯誤,對象方法名搞不清,
113、控件其屬性理解不到位,但經過認真思考并在老師和同學的幫助下順利完成了本次設計,這次設計我從中學到了很多東西。</p><p> 總之,在通過真正動手之后,我Visual C++語言設計和有關它的操作方面都獲益匪淺,但離真正的系統(tǒng)開發(fā)軟件設計還是很有差別的,需要我們不斷學習新的知識擴充自己才能做好這一工作。</p><p> 學無止境,我們現(xiàn)在了解的東西還很少,更別說很好的掌握自己的專業(yè)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 圖書管理系統(tǒng)課程設計說明書
- 圖書管理系統(tǒng)課程設計說明書
- oracle課程設計說明書--圖書管理系統(tǒng)
- 圖書管理系統(tǒng)概要設計說明書
- 圖書管理系統(tǒng)概要設計說明書
- 圖書管理系統(tǒng)畢業(yè)設計說明書
- 圖書管理系統(tǒng)界面設計說明書
- 圖書館管理系統(tǒng)課程設計說明書
- 圖書銷售管理系統(tǒng)-java課程設計說明書
- 《圖書管理系統(tǒng)》課程設計
- 圖書管理系統(tǒng)課程設計
- 圖書管理系統(tǒng)課程設計
- 圖書管理系統(tǒng)課程設計
- 課程設計---圖書管理系統(tǒng)
- vfp圖書館管理系統(tǒng)課程設計說明書
- 課程設計報告書--圖書管理管理系統(tǒng)
- 課程設計---課程設計圖書管理系統(tǒng)
- c課程設計---圖書管理系統(tǒng)課程設計
- 圖書管理系統(tǒng)課程設計 (2)
- java課程設計--圖書管理系統(tǒng)
評論
0/150
提交評論