數(shù)據(jù)庫應(yīng)用課程設(shè)計(jì)論文_第1頁
數(shù)據(jù)庫應(yīng)用課程設(shè)計(jì)論文_第2頁
數(shù)據(jù)庫應(yīng)用課程設(shè)計(jì)論文_第3頁
數(shù)據(jù)庫應(yīng)用課程設(shè)計(jì)論文_第4頁
數(shù)據(jù)庫應(yīng)用課程設(shè)計(jì)論文_第5頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、華 北 科 技 學(xué) 院課程設(shè)計(jì)說明書班級: 計(jì)算b092 姓名: 趙禮陽(200909014201)設(shè)計(jì)題目: 小樣個人理財(cái) 設(shè)計(jì)時間: 2011.1.2 至 2011.1.13 指導(dǎo)教師: 譚立云 評 語:_評閱成績: 評閱教師: 設(shè)計(jì)任務(wù)和技術(shù)要求:設(shè)計(jì)個人理財(cái)管理系統(tǒng),并實(shí)現(xiàn)前臺c+和后臺sql數(shù)據(jù)庫的鏈接,可以從前臺的mfc界面訪問數(shù)據(jù)庫中的每個表,在前臺的界面中實(shí)現(xiàn)個人理財(cái)信息的增加,刪除和修改。個人理財(cái)信息的查詢。并把增刪改后的數(shù)據(jù)放在后臺的數(shù)據(jù)庫中。實(shí)現(xiàn)以個人或者時間為單位,按時間或者姓名查找后的財(cái)務(wù)信息,在前臺訪問后臺數(shù)據(jù)庫的信息,輸出訪問數(shù)據(jù)庫后符合要求的財(cái)務(wù)信息在前臺mfc

2、界面輸出。 內(nèi)容摘要:為了完成整個系統(tǒng)的設(shè)計(jì),首先是對整個系統(tǒng)的總體設(shè)計(jì),整個系統(tǒng)要完成的工作如上所述,完成整個系統(tǒng)的設(shè)計(jì)需要完成三個部分的工作,首先是數(shù)據(jù)庫的設(shè)計(jì),數(shù)據(jù)庫的設(shè)計(jì)需要分析數(shù)據(jù)庫的功能需求分析,畫出e-r圖,編寫數(shù)據(jù)字典,完成數(shù)據(jù)庫的表的設(shè)計(jì),為數(shù)據(jù)庫添加對象。其次是mfc的界面設(shè)計(jì),界面設(shè)計(jì)需要分析所要完成的用戶功能,設(shè)計(jì)相應(yīng)的界面,實(shí)現(xiàn)各個界面之間額鏈接和視圖。最后需要鏈接數(shù)據(jù)庫和mfc,使所要查詢的數(shù)據(jù)來自數(shù)據(jù)庫,并且對數(shù)據(jù)所做的增刪改工作保存在數(shù)據(jù)庫中。并演示所有的功能。目錄1.總體設(shè)計(jì)1.1總體設(shè)計(jì)的框架圖1.2框架圖的闡述:第一個界面是系統(tǒng)登錄界面,在這個界面,用戶需

3、要輸入賬號和密碼,并且賬號和密碼都正確才能成功進(jìn)入該系統(tǒng),進(jìn)入系統(tǒng)后,就是用戶輸入輸出界面。用戶輸入輸出界面一共分為兩個輸入輸出窗口,上面是數(shù)據(jù)庫內(nèi)部數(shù)據(jù)的輸出窗口,下方是查詢記錄后數(shù)據(jù)輸出窗口,右上方一共包含四個單擊事件按鈕,分別是:添加,刪除,修改,保存。單擊添加按鈕,軟件自動跳轉(zhuǎn)到另一個界面,也就是財(cái)務(wù)信息的輸入界面(或者錄入界面),界面中一個包含七個錄入信息時間標(biāo)題,分別是,日期,姓名,地址,工資,證券,保險(xiǎn),開支(分別代表消費(fèi)日期,消費(fèi)人姓名,消費(fèi)地址,工資收入,證券收益,保險(xiǎn)開支,生活開支,下面就以上面簡稱代替,后文就不一一做出解釋了)。工資、證券、保險(xiǎn)、開支等都是float類型的

4、,姓名,日期,地址等都是string類型的。添加完成后點(diǎn)擊確定按鈕,軟件自動回到輸入輸出界面,并且錄入信息顯示在上方輸出列表中,并且輸入的數(shù)據(jù)自動保存到后臺數(shù)據(jù)庫中,以便以后查詢修改使用。單擊刪除按鈕,軟件自動跳出下一界面(刪除添加記錄界面),在這個界面,用戶只需要輸入你想要刪除人的姓名,然后再單擊確定,系統(tǒng)數(shù)據(jù)庫中符合要求的記錄自動刪除結(jié)束,并且回到上一界面,在上方輸入窗口中也不再顯示剛才刪除的記錄。單擊修改按鈕,軟件跳轉(zhuǎn)到和添加記錄是同樣的界面,但是這個和添加記錄是的操作不經(jīng)相同,用戶如果想要修改數(shù)據(jù)庫中某個數(shù)據(jù),用戶必須準(zhǔn)確輸入某個數(shù)據(jù)在數(shù)據(jù)庫中的時間、日期和姓名,這是為了驗(yàn)證修改信息,

5、防止數(shù)據(jù)庫中數(shù)據(jù)和前臺保持一致,避免照成不一致性。保存按鈕,是把數(shù)據(jù)保存到軟件指定的一個test文件中,這個和數(shù)據(jù)庫關(guān)系不大,也可以不需要。第二個選項(xiàng)是查詢信息選項(xiàng),在查詢信息選項(xiàng)中有四個操作按鍵,一個是用戶自定義選擇查詢項(xiàng)目(這里包括按姓名查找和按時間查找),另一個是與上面用戶選擇的查詢條件是保持一致的輸入窗體,如果按照時間查找,用戶就在下面輸入要查詢的相應(yīng)時間,若用戶選擇按姓名查找,用戶就需要輸入相應(yīng)的查詢者姓名,然后單擊下面的查詢按鍵,若數(shù)據(jù)庫中存在用戶要查詢到的記錄,則記錄就自動從到右邊的輸出窗口顯示出來,要是數(shù)據(jù)庫中沒有相應(yīng)記錄,則體統(tǒng)會提示沒有要查詢的記錄。最后一個就是刪除查詢記錄

6、按鈕,這里就不仔細(xì)說明,操作方式和上面刪除按鈕是一樣的。以上操作數(shù)據(jù)的鏈接的實(shí)現(xiàn)是通過odbc實(shí)現(xiàn),從前臺訪問數(shù)據(jù)庫。2數(shù)據(jù)庫設(shè)計(jì)2.1功能需求分析根據(jù)以上的整體分析,對數(shù)據(jù)庫建立了一張表,名字是zly,這里表的名字都是自己建立的,名字隨便取,什么名字都不是最重要的。在zly表中存放所有的財(cái)務(wù)信息。數(shù)據(jù)庫中表格如下:zly(財(cái)務(wù)信息表)(日期riqi,姓名name,地址dizhi,工資gongzi,證券zhengquan,保險(xiǎn)baoxian,開支kaizhi)2.2 er圖設(shè)計(jì)工資 地址 姓名 日期 證券 zly 保險(xiǎn) 開支 總計(jì) 2.3數(shù)據(jù)字典2.3.1 zly表解釋類型寬度能否為空riqi

7、日期char10可以name姓名char30可以dizhi地址char10可以gongzi工資收入char10可以zhengquan證券收入char10可以baoxian保險(xiǎn)支出char10可以kaizhi生活開支char10可以zongji總計(jì)char10可以2.4建立數(shù)據(jù)庫2.4.1建立數(shù)據(jù)庫的代碼為:create database zly on primary ( name=zly_data, filename=e:xmy小螞蟻成績管理系統(tǒng)zly.mdf, size=5, maxsize=100, filegrowth=10%) log on ( name=zly_log1, filen

8、ame=e: xmy小螞蟻成績管理系統(tǒng)zlylog.ldf, size=5, maxsize=20, filegrowth=20%), (name=zly_log2, filename=e: xmy小螞蟻成績管理系統(tǒng)zlylog2.ldf, size=5, maxsize=20, filegrowth=20%) alter database zly modify file ( name= zly_data, size=10) alter database zly modify file ( name= zly_data, maxsize=unlimited) use zly gocreate

9、table zly( riqi char(10) primary key, name char(30) not null, dizhi char(10) not null, gongzi char(10) not null, zhengquan char(10) not null,baoxian char(10) not null, kaizhi char(10) not null, zongji char(10) not null,)2.4.2為表格添加對象建立完所有的表格以后,為每個表格添加對象,利用企業(yè)管理器進(jìn)行添加對象,在數(shù)據(jù)庫中的表格下打開zly表格,添加對象,結(jié)果為:zly表的返回

10、結(jié)果riqiriqidizhigongzizhengquanbaoxiankaizhizongji2001-01-01趙禮陽 重慶9999.00 9999.00 999.00999.00 2002-09-23張成林萬州 1321.00 241.00 2412.00 24124.002009-08-12苗超 邯鄲123124.00241241.0012412.00231.00數(shù)據(jù)庫對象添加完畢以后,就完成了數(shù)據(jù)庫的建立,數(shù)據(jù)庫建立完成以后需要利用mfc進(jìn)行編程,用mfc編輯界面對數(shù)據(jù)庫進(jìn)行訪問。3mfc界面設(shè)計(jì)3.1.主界面的設(shè)計(jì)上邊已經(jīng)分析,在主界面上有兩個信息區(qū)域分別為錄入信息區(qū)域,財(cái)務(wù)信息

11、查詢區(qū)域,其中錄入信息區(qū)域包括日期、姓名、地址、工資、證券、保險(xiǎn)、開支、總計(jì)等錄入的選項(xiàng)。查詢信息區(qū)域包括時間和姓名的查詢的選項(xiàng)。在打開的c+工程中建立對話框并添加控件運(yùn)行的結(jié)果如圖1。圖1登陸界面設(shè)計(jì)這樣就完成了登陸界面的窗體設(shè)計(jì),登錄窗體必須要匹配密碼賬號才能登陸進(jìn)入系統(tǒng)。當(dāng)用戶已登錄系統(tǒng)后,軟件馬上后臺連接到數(shù)據(jù)庫,代碼如下:updatedata(true);cstring sql,startdate,enddate;if(!m_database.isopen()if(!m_database.open(_t(zhao)messagebox(failed!);3.1響應(yīng)主界面中相應(yīng)按鈕的對

12、話框的設(shè)計(jì)在登陸界面中,單擊確定控制按鈕,軟件界面自動轉(zhuǎn)到主菜單界面,鏈接代碼如下:ca m;m.domodal();要是在界面中,單擊或者雙擊某個控件按鈕需要跳轉(zhuǎn)到另外一個界面,都需要類似的話來執(zhí)行系統(tǒng)的操作,ca為類名,并且還需要頭文件:#include ca.h這樣就完成了按鈕與對話框之間的鏈接。主界面上的每個控制按鈕與相應(yīng)對話框之間的鏈接都是通過這種方式實(shí)現(xiàn)的。實(shí)現(xiàn)鏈接以后主要是設(shè)計(jì)以后的每個對話框執(zhí)行相應(yīng)的信息顯示和操作功能。3.2響應(yīng)對話框的具體設(shè)計(jì)3.2.1在主界面班級按鈕下的對話框,要實(shí)現(xiàn)數(shù)據(jù)庫中個人理財(cái)信息的錄入和輸出顯示,而且要有查詢增加修改刪除等功能的實(shí)現(xiàn),那就需要對該對

13、話框添加控件,效果圖如下:圖2主界面設(shè)計(jì)圖3信息錄入界面設(shè)計(jì)如上圖,如果用戶是添加理財(cái)信息,輸入玩理財(cái)信息后,則單擊確認(rèn)添加,若退出添加,則單擊取消回到之前的主界面,取消按鈕時為后面的修改設(shè)置的。圖3信息錄入界面設(shè)計(jì) 上圖為刪除理財(cái)信息窗體,在窗體中只有一個信息錄入,也就是只要輸入姓名,如果數(shù)據(jù)庫中有此姓名的數(shù)據(jù)信息,則單擊確認(rèn)后系統(tǒng)就自動刪除與該姓名匹配的所有理財(cái)信息,與此同時主窗體中不在有該人的理財(cái)記錄,數(shù)據(jù)庫中也不再存在該人的記錄。本來想設(shè)計(jì)按時間刪除,但是不能再這樣一個窗體中實(shí)現(xiàn),比如同一天有幾個人的記錄同時存在,要是按姓名刪除就比較麻煩,如果按時間刪除,就比較方便,也更節(jié)約時間,設(shè)置

14、的方式和姓名的設(shè)置方式是一樣的。以下代碼這是實(shí)現(xiàn)按姓名刪除,要是想按時間刪除,在姓名的地方改成時間的類名就可以了,當(dāng)然別的地方略微有點(diǎn)不同,這兒就不做具體講解了。if(!updatedata()return;trycstring sql;/打開記錄集,獲取最大的家鄉(xiāng)id值. /插入新的家鄉(xiāng)信息記錄. sql.format(delete from zly where( name=+m_name+ ); tryif(m_name.isempty() messagebox(輸入有誤!);return; m_database.executesql(sql);/刪除數(shù)據(jù)庫里面的數(shù)據(jù)信息messagebo

15、x(刪除成功!);catch(cdbexception e)messagebox(錯誤!);catch(cdbexception,ex)afxmessagebox (ex-m_strerror);afxmessagebox (ex-m_strstatenativeorigin); and_catch(cexception,e)tchar szerror100;e-geterrormessage(szerror,100);afxmessagebox (szerror);end_catch 圖4修改理財(cái)信息錄入界面設(shè)計(jì)前面已經(jīng)講解過了,單擊修改按鈕,跳轉(zhuǎn)到上面的界面的代碼編寫和前面的ca m; m

16、.domodal();方法一樣,只是名字不一樣,頭文件不一樣,后面就不做一一解釋了。用戶若要修改數(shù)據(jù)庫中某一數(shù)據(jù),根據(jù)數(shù)據(jù)庫的類名定義,用戶只需要正確輸入日期就行了,別的信息可以可以隨便添加,添加之后的也就是用戶改動之后的結(jié)果,換句話說也就是用戶除了消費(fèi)時間不能更改,剩下的別的理財(cái)信息都可以隨意更改。保存按鈕意義不大,可有可無!3.2.2主界面下方輸出窗體的各項(xiàng)功能與按鈕下的相應(yīng)對話框。圖5查詢界面設(shè)計(jì)如上圖所示,用戶可以更具自己的情況,選擇適合自己的查詢條件,軟件包含了姓名和日期兩個查詢條件供使用者選擇,用戶選擇姓名查詢條件,則在下面的編輯框中輸入要查詢?nèi)说男彰瑔螕舨樵?,若?shù)據(jù)庫中有此人的

17、財(cái)務(wù)記錄,通過數(shù)據(jù)庫中算法的調(diào)用,會把查詢到的記錄在左邊的輸出菜單中輸出,若沒有此人的記錄,系統(tǒng)則會彈出小窗口提示,沒有此人記錄等提示語言。以下是查詢功能的算法主要代碼:updatedata(true);int ncurltem;if(m_way=日期)for(ncurltem=0;(m_list1.getitemtext(ncurltem,0)!=m_var)&(m_list1.getitemtext(ncurltem,1)!=);ncurltem+)if(m_list1.getitemtext(ncurltem,1)=)messagebox(無該學(xué)生);return;else int h=

18、0; h=m_list2.insertitem(h,m_list1.getitemtext(ncurltem,0); m_list2.setitemtext(h,1,m_list1.getitemtext(ncurltem,1); m_list2.setitemtext(h,2,m_list1.getitemtext(ncurltem,2); m_list2.setitemtext(h,3,m_list1.getitemtext(ncurltem,3); m_list2.setitemtext(h,4,m_list1.getitemtext(ncurltem,4); m_list2.setit

19、emtext(h,5,m_list1.getitemtext(ncurltem,5); m_list2.setitemtext(h,6,m_list1.getitemtext(ncurltem,6); m_list2.setitemtext(h,7,m_list1.getitemtext(ncurltem,7);if(m_way=姓名)for(ncurltem=0;(m_list1.getitemtext(ncurltem,1)!=m_var)&(m_list1.getitemtext(ncurltem,1)!=);ncurltem+)if(m_list1.getitemtext(ncurlt

20、em,1)=)messagebox(無該學(xué)生);return;else int h=0; h=m_list2.insertitem(h,m_list1.getitemtext(ncurltem,0); m_list2.setitemtext(h,1,m_list1.getitemtext(ncurltem,1); m_list2.setitemtext(h,2,m_list1.getitemtext(ncurltem,2); m_list2.setitemtext(h,3,m_list1.getitemtext(ncurltem,3); m_list2.setitemtext(h,4,m_list1.getitemtext(ncurltem,4);m_list2.setitemtext(h,5,m_list1.getitemtext(ncurltem,5);m_list2.setitemtext(h,6,m_list1.getitemtext(ncurltem,6);m_list2.setitemtext(h,7,m_list1.ge

溫馨提示

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

評論

0/150

提交評論