【正文】
temp = (TCHAR *)(_bstr_t)m_pRsGetFields()GetItem((long)i)Value。 (row,i,temp)。 } m_pRsMoveNext()。 //移動到下一條記錄 row +=1。 } } else if ((()==false)amp。amp。(()==true)) { ()。 CString sql,c_starttime,c_endtime。 (c_starttime)。 (c_endtime)。 (select ,, from tb_bookinfo a inner join (select barcode,sum(numbers) numbers from tb_sell_sub where sellid in ( select sellid from tb_sell_main where intime between 39。%s39。and 39。%s39。 ) group by barcode )as b on = order by desc,c_starttime,c_endtime)。 m_pRsraw_Close()。 m_pRsOpen((_variant_t)sql,(),adOpenKeyset,adLockOptimistic,adCmdText)。 int row = 0。 while (! m_pRsadoEOF) { CString temp。 (1000,)。 for (int i = 0。i6。i++) { temp = (TCHAR *)(_bstr_t)m_pRsGetFields()GetItem((long)i)Value。 (row,i,temp)。 } m_pRsMoveNext()。 row +=1。 } } else { CString c_field,c_value。 (c_field)。 (c_value)。 if (()||(())) { MessageBox(請?jiān)O(shè)置查詢條件,提示,64)。 return。 } CString sql,c_starttime,c_endtime。 (c_starttime)。 (c_endtime)。 if (()||(())) { MessageBox(請?jiān)O(shè)置查詢條件,提示,64)。 return。 } ()。 switch (()) { case 0: { c_field = bookname。 (select ,, from tb_bookinfo a inner join (select barcode,sum(numbers) numbers from tb_sell_sub where sellid in (select sellid from tb_sell_main where intime between 39。%s39。 and 39。%s39。) group by barcode)as b on = and = 39。%s39。 order by desc,c_starttime,c_endtime, c_value)。 break。 } case 1: { c_field = barcode。 (select ,, from tb_bookinfo a inner join (select barcode,sum(numbers) numbers from tb_sell_sub where sellid in (select sellid from tb_sell_main where intime between 39。%s39。 and 39。%s39。) group by barcode)as b on = and = 39。%s39。 order by desc,c_starttime,c_endtime, c_value)。 break。 } case 2: { c_field = author。 (select ,, from tb_bookinfo a inner join (select barcode,sum(numbers) numbers from tb_sell_sub where sellid in (select sellid from tb_sell_main where intime between 39。%s39。 and 39。%s39。) group by barcode)as b on = and = 39。%s39。 order by desc,c_starttime,c_endtime, c_value)。 break。 } case 3: { c_field = bookconcern 。 (select ,, from tb_bookinfo a inner join (select barcode,sum(numbers) numbers from tb_sell_sub where sellid in (select sellid from tb_sell_main where intime between 39。%s39。 and 39。%s39。) group by barcode)as b on = and = 39。%s39。 order by desc,c_starttime,c_endtime, c_value)。 break。 } } m_pRsraw_Close()。 m_pRsOpen((_variant_t)sql,(),adOpenKeyset,adLockOptimistic,adCmdText)。 int row = 0。 while (! m_pRsadoEOF) { CString temp。 (1000,)。 for (int i = 0。i6。i++) { temp = (TCHAR *)(_bstr_t)m_pRsGetFields()GetItem((long)i)Value。 (row,i,temp)。 } m_pRsMoveNext()。 row +=1。 } }}第5章 總結(jié) (也可分成幾個(gè)小節(jié),每個(gè)小節(jié)說明不同的東西,比如收獲、心得、不足、今后應(yīng)完善的等等,頁數(shù)應(yīng)該在5頁左右) 本系統(tǒng)實(shí)現(xiàn)了圖書管理系統(tǒng)的典型功能,包括查詢所有記錄的信息,添加查找功能,而且具有較高的安全性。但是因?yàn)樽约邯?dú)立完成且能力有限,還有部分功能未能實(shí)現(xiàn)。而且通過這次課程設(shè)計(jì),我培養(yǎng)了自己對C++編程的興趣,編程能力也有所提高,但存在許多不足,不能獨(dú)立寫出功能很齊全的代碼,寫代碼要參考很多資料和請教同學(xué),所以今后應(yīng)培養(yǎng)自己獨(dú)立寫代碼的能力。設(shè)計(jì)過程大體分為以下幾個(gè)步驟:(1) 思考總體設(shè)計(jì)方案:總體結(jié)構(gòu)和模塊外部設(shè)計(jì),功能分配。思考要實(shí)現(xiàn)整個(gè)程序大體需要的幾個(gè)模塊和其中用到的Visual C++語言基本操作符、語句等。(2) 畫出總體設(shè)計(jì)方案流程圖:用流程圖的形式展現(xiàn)你的基本編程思想。(3) 流程圖具體化:即將流程圖中的幾大模塊的具體實(shí)現(xiàn)思考清楚,可以用流程圖的形式展現(xiàn),并想好實(shí)現(xiàn)的關(guān)鍵代碼。(4) 編輯程序代碼:這是一個(gè)至關(guān)重要復(fù)雜而且需要反復(fù)修改的環(huán)節(jié),在環(huán)節(jié)中你將發(fā)現(xiàn)總體設(shè)計(jì)和模塊思想會存在很多問題,需不斷改進(jìn),如何實(shí)現(xiàn)各函數(shù)功能,達(dá)到預(yù)期效果也將是一項(xiàng)復(fù)雜的公作。(5) 代碼的調(diào)試:在VS2008環(huán)境下輸入代碼并進(jìn)行調(diào)試和正確運(yùn)行。在調(diào)試過程中會遇到很多需要精華的地方,需要十足的耐心和細(xì)心,不斷改進(jìn)完善程序。 通過這次設(shè)計(jì),我對數(shù)據(jù)庫和MFC編程有了更深刻的認(rèn)識,深刻認(rèn)識到需求分析的重要性,更加了解了一個(gè)系統(tǒng)各部門的流程細(xì)節(jié)。對概念設(shè)計(jì)的步驟掌握的更加清晰,促進(jìn)了對分析過程中的原則要求及所得到的數(shù)據(jù)結(jié)果的原因認(rèn)識。讓我更加明白了主動學(xué)習(xí)是最好的辦法。主動動手去做,廣泛查閱資料,多次進(jìn)行修改和完善,只有這樣,才能有好的設(shè)計(jì)呈現(xiàn)出來。邏輯設(shè)計(jì)階段中,由于整個(gè)系統(tǒng)數(shù)據(jù)復(fù)雜性和實(shí)際應(yīng)用的交叉性,發(fā)現(xiàn)我們在理論和實(shí)際的操作中無論是關(guān)系模型設(shè)計(jì)還是C++中功能的實(shí)現(xiàn)都有很多不足。 這次設(shè)計(jì)圖書管理系統(tǒng),首先我考慮是在實(shí)際應(yīng)用時(shí)用戶一般進(jìn)行什么操作,對那些對象進(jìn)行操作。很顯然我需要建立兩個(gè)類,包括圖書類和操作員類,同時(shí)考慮到圖書和操作員不止一個(gè),所以還需要兩個(gè)類,圖書庫類和操作員庫類,這兩個(gè)類分別將其信息傳遞給圖書類和操作員類。確定了類之后,則需要對類的內(nèi)容進(jìn)行擴(kuò)充。由于我需要這個(gè)系統(tǒng)完成對圖書管理和記錄的功能,并能對出售圖書進(jìn)行管理,要求完成以下功能,圖書資料管理,可以添加、修改、刪除、查詢書籍信息,讀者資料管理,可以添加、修改、刪除、查詢售出圖書信息。所以在對應(yīng)的類下建立相應(yīng)功能函數(shù),建立功能函數(shù)后就是構(gòu)造主函數(shù)。主函數(shù)的作用就是通過向?qū)ο蟀l(fā)送信息、對象接受信息后啟動相應(yīng)的方法來實(shí)現(xiàn)相應(yīng)的操作。 當(dāng)然在這些過程中要保證面向?qū)ο蟪绦蛟O(shè)計(jì)的抽象、封裝、多態(tài)和繼承的特點(diǎn)。在設(shè)計(jì)本系統(tǒng)中雖然綜合考慮到了圖書管理的各個(gè)方面,界面設(shè)計(jì)簡潔,數(shù)據(jù)庫設(shè)計(jì)合理,但依然還有一些不足。 為了能夠較好地完成本次課程設(shè)計(jì),我詳細(xì)閱讀教材,以及網(wǎng)上搜索,和上網(wǎng)查找相關(guān)資料等。再做課程設(shè)計(jì)的過程中,我在利用所學(xué)的知識同時(shí),又學(xué)到了很多實(shí)例化的理論知識和軟件工程的一些實(shí)踐,總結(jié)了一些經(jīng)驗(yàn)和方法強(qiáng)化了我的實(shí)際動手能力,同時(shí)也找到自己的不足,我一定會繼續(xù)學(xué)習(xí)增加自己的編程能力和調(diào)試能力,在今后的學(xué)習(xí)中我將會更加的努力,增加自己的知識儲備,拓寬自己的知識面,鍛煉自己的能力,是我的綜合素質(zhì)得到較大的提高。設(shè)計(jì)的過程中我也出現(xiàn)過一些比較嚴(yán)重的錯(cuò)誤,后來在同學(xué)的指點(diǎn)下我改正了自己的錯(cuò)誤,并最終成功調(diào)試出了程序。當(dāng)程序調(diào)試出來的那一瞬間,我感覺自己完成了一件非常了不起的事,好有成就感。在以后的日子,我將會繼續(xù)我的興趣繼續(xù)深入學(xué)習(xí)程序設(shè)計(jì),相信在越來越多的嘗試之后,自己會不斷進(jìn)步不斷提高的。這也讓我充分的感受到了要自己設(shè)計(jì)一個(gè)程序是多么難,以及學(xué)習(xí)好C++是多么的重要。我清楚地意識到自己的水平有多么的薄弱,課程的知識學(xué)的有多么的不扎實(shí)??淳W(wǎng)上的例子好像覺著也沒那么難,自己一上機(jī)實(shí)際操作就出現(xiàn)很多問題,調(diào)試的時(shí)候系統(tǒng)總是在報(bào)錯(cuò),還有很多警告,每增加一個(gè)函數(shù)就要調(diào)試很久,有時(shí)候因?yàn)樯倭艘粋€(gè)大括號或是分號,導(dǎo)致要找很久很久。雖然系統(tǒng)可以運(yùn)行,也具有了一些基本功能,但我意識到自己的不足。最后感謝老師的指導(dǎo)與同學(xué)的幫助,是我能順利完成這次程序設(shè)計(jì)。參考文獻(xiàn)[1]于彥鳳,(客戶機(jī)/服務(wù)器)模式圖書流通管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) 吉林:吉林化工學(xué)院學(xué)報(bào),2006.[2]鐘旺偉, C/S 和 B/S 混合模式的圖書管理系統(tǒng) 廣東:廣東建設(shè)職業(yè)技術(shù)學(xué)院計(jì)算機(jī)系學(xué)報(bào),2007.[3]:天津科技大學(xué)計(jì)算機(jī)科學(xué)與信息工程學(xué)院院報(bào),2012.(參考文獻(xiàn)格式不對!數(shù)量還太少了,應(yīng)在20個(gè)左右,而且在正文里沒有看到相關(guān)引注,也就是說你的參考文獻(xiàn)是空架子。)