VC++學(xué)生信息管理系統(tǒng)課程設(shè)計(jì)報(bào)告_第1頁(yè)
VC++學(xué)生信息管理系統(tǒng)課程設(shè)計(jì)報(bào)告_第2頁(yè)
VC++學(xué)生信息管理系統(tǒng)課程設(shè)計(jì)報(bào)告_第3頁(yè)
VC++學(xué)生信息管理系統(tǒng)課程設(shè)計(jì)報(bào)告_第4頁(yè)
VC++學(xué)生信息管理系統(tǒng)課程設(shè)計(jì)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩22頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、項(xiàng)目名稱設(shè)計(jì)開(kāi)始日期2012-08-20項(xiàng)目完成日期2012-08-24文 檔評(píng)審主要考核內(nèi)容 評(píng)審項(xiàng)目評(píng)審內(nèi)容項(xiàng)目名稱課題是否從實(shí)際出發(fā),是否滿足工作量需求,是否具有創(chuàng)意等文檔格式文檔格式是否規(guī)范;文字是否規(guī)范;圖表是否規(guī)范;術(shù)語(yǔ)是否準(zhǔn)確等文檔質(zhì)量程序設(shè)計(jì)思想與整體框架是否清晰等程序功能完備性評(píng)審主要內(nèi)容評(píng)審項(xiàng)目評(píng) 審 內(nèi) 容程序運(yùn)行狀況程序是否能正常運(yùn)行;是否出現(xiàn)死鎖;是否遇到錯(cuò)誤而中止運(yùn)行程序正確性對(duì)于給定的輸入數(shù)據(jù),是否能得到正確的輸出結(jié)果程序與文檔的一致性程序與各種文檔的內(nèi)容是否一致程序的代碼量程序代碼量的大小實(shí)現(xiàn)方法圖形界面或命令行界面,美觀程度程序功能程序的功能是否完備答辯評(píng)審內(nèi)

2、容評(píng)審項(xiàng)目評(píng)審內(nèi)容答辯思路答辯思路是否清晰回答問(wèn)題回答問(wèn)題是否正確考 勤 評(píng) 定 成 績(jī)考勤成績(jī)課程設(shè)計(jì)是否按照要求在機(jī)房完成課程設(shè)計(jì)總成績(jī) 課程設(shè)計(jì)題目: 學(xué)生信息管理系統(tǒng) 問(wèn)題闡述與分析:1.設(shè)計(jì)背景:隨著學(xué)校的發(fā)展,需要對(duì)越來(lái)越多的學(xué)生信息進(jìn)行處理,依靠傳統(tǒng)的處理方式已經(jīng)滿足不了要求,所以可以通過(guò)編一個(gè)學(xué)生信息管理系統(tǒng),使學(xué)生的信息能夠集中管理,由于這個(gè)數(shù)據(jù)量比較大,而對(duì)于大量數(shù)據(jù)的處理,采用數(shù)據(jù)庫(kù)更為安全簡(jiǎn)便。在此,可以通過(guò)學(xué)生信息管理系統(tǒng)這個(gè)項(xiàng)目來(lái)學(xué)習(xí)數(shù)據(jù)庫(kù)的使用和注意事項(xiàng)。對(duì)于學(xué)生信息管理系統(tǒng)這個(gè)項(xiàng)目,需要處理學(xué)生的基本信息,姓名,學(xué)號(hào),年齡,性別,宿舍,聯(lián)系方式等。2.設(shè)計(jì)實(shí)現(xiàn)意

3、義 有利于學(xué)生的管理便利3.所要解決的主要問(wèn)題幫助老師、同學(xué)們更方便快捷的查詢學(xué)生的信息4.應(yīng)用范圍本系統(tǒng)適用于理論研究。即用來(lái)對(duì)平臺(tái)功能的增減,修改及相關(guān)算法優(yōu)化等做研究。 工作量:我在學(xué)習(xí)VC+ 的MFC編程,數(shù)據(jù)庫(kù)的相關(guān)知識(shí),同時(shí)進(jìn)行下面的工作,1擬定課程設(shè)計(jì)的主要方向?qū)W生信息管理系統(tǒng);2明確所做系統(tǒng)的主要需要解決的問(wèn)題,根據(jù)問(wèn)題分析系統(tǒng)所要實(shí)現(xiàn)的主要功能,根據(jù)功能設(shè)計(jì)出不同的模塊登陸模塊,注冊(cè)模塊,維護(hù)模塊。3設(shè)計(jì)系統(tǒng)的登錄及各個(gè)主要功能的界面外觀;4以各個(gè)界面所要實(shí)現(xiàn)的功能為以依據(jù),為各個(gè)部分編寫(xiě)代碼并匹配數(shù)據(jù)庫(kù);登陸模塊,能進(jìn)行登錄,并且輸入錯(cuò)誤時(shí),有提示信息注冊(cè)模塊,可進(jìn)行用戶的

4、注冊(cè)維護(hù)模塊,能進(jìn)增加,刪除,修改等動(dòng)作5調(diào)試程序,修改程序中出現(xiàn)的錯(cuò)誤,并在功能,外觀方面對(duì)程序進(jìn)行完善,使程序?qū)嵱眯愿鼜?qiáng); 6完成工程。 工作計(jì)劃安排:2012年8月20日8月20日 : 進(jìn)行系統(tǒng)分析,確定各模塊及具體實(shí)現(xiàn)方案。2011年8月20日8月21日 :進(jìn)行系統(tǒng)的分析,確定各部分需要完成的主要功能,確定具體實(shí)現(xiàn)方案,并學(xué)習(xí)相關(guān)知識(shí),確定使用VC+6.0。2011年8月21日8月22日 :根據(jù)分析和設(shè)計(jì),開(kāi)始系統(tǒng)的實(shí)現(xiàn),進(jìn)行代碼的編寫(xiě)。2011年8月22日8月23日各模塊合并,調(diào)試運(yùn)行。2011年9月23日8月24日:系統(tǒng)完善,撰寫(xiě)報(bào)告目錄 TOC o 1-3 h z u 1緒論 P

5、AGEREF _Toc334541394 h 11.1項(xiàng)目簡(jiǎn)介 PAGEREF _Toc334541395 h 11.2設(shè)計(jì)目的 PAGEREF _Toc334541396 h 11.3設(shè)計(jì)內(nèi)容 PAGEREF _Toc334541397 h 12需求分析 PAGEREF _Toc334541398 h 12.1數(shù)據(jù)需求 PAGEREF _Toc334541399 h 12.2事務(wù)需求 PAGEREF _Toc334541400 h 23概要設(shè)計(jì) PAGEREF _Toc334541401 h 23.1系統(tǒng)的大致流程圖 PAGEREF _Toc334541402 h 24詳細(xì)設(shè)計(jì) PAGERE

6、F _Toc334541403 h 24.1系統(tǒng)的流程圖 PAGEREF _Toc334541404 h 24.2整體邏輯數(shù)據(jù)庫(kù)結(jié)構(gòu) PAGEREF _Toc334541405 h 34.3涉及算法的思想 PAGEREF _Toc334541406 h 35用戶使用說(shuō)明 PAGEREF _Toc334541407 h 45.1開(kāi)發(fā)運(yùn)行環(huán)境 PAGEREF _Toc334541408 h 45.2數(shù)據(jù)庫(kù)的名稱及內(nèi)容 PAGEREF _Toc334541409 h 46關(guān)鍵源程序 PAGEREF _Toc334541410 h 56.1建立工程 PAGEREF _Toc334541411 h 56

7、.2模塊1 PAGEREF _Toc334541412 h 56.3模塊2 PAGEREF _Toc334541413 h 96.5模塊4 PAGEREF _Toc334541414 h 127測(cè)試結(jié)果及運(yùn)行界面 PAGEREF _Toc334541415 h 198總結(jié) PAGEREF _Toc334541416 h 238.1系統(tǒng)實(shí)現(xiàn)程度 PAGEREF _Toc334541417 h 238.2問(wèn)題及難點(diǎn) PAGEREF _Toc334541418 h 238.3收獲與體會(huì) PAGEREF _Toc334541419 h 23參考文獻(xiàn) PAGEREF _Toc334541420 h 24

8、1緒論1.1項(xiàng)目簡(jiǎn)介本系統(tǒng)主要實(shí)現(xiàn)學(xué)生信息管理功能,為老師與同學(xué)提供一個(gè)可以快速查找信息的平臺(tái)。1.2設(shè)計(jì)目的方便老師與同學(xué)查看學(xué)生信息,提高學(xué)生信息管理的效率,節(jié)省時(shí)間,從而實(shí)現(xiàn)學(xué)校工作的邊界管理。1.3設(shè)計(jì)內(nèi)容主要包括:用戶的登陸于注冊(cè),對(duì)學(xué)生信息的增加刪除修改。2需求分析2.1數(shù)據(jù)需求系統(tǒng)需要處理哪些數(shù)據(jù)總體分為用戶輸入的數(shù)據(jù)和從數(shù)據(jù)庫(kù)中獲得的數(shù)據(jù)。主要數(shù)據(jù)類型包括:CString類型數(shù)據(jù)、double類型數(shù)據(jù)、int類型數(shù)據(jù)和CTime類型數(shù)據(jù)。2.2事務(wù)需求用戶:登陸、注冊(cè),對(duì)數(shù)據(jù)的增刪改3概要設(shè)計(jì)3.1系統(tǒng)的大致流程圖注冊(cè)模塊登錄模塊維護(hù)模塊錄入學(xué)生信息刪除學(xué)生信息修改學(xué)生信息通訊

9、錄管理系統(tǒng)4詳細(xì)設(shè)計(jì)4.1系統(tǒng)的流程圖注冊(cè)結(jié)束開(kāi)始添加顯示信息登錄流程切換詳細(xì)信息修改退出刪除4.2整體邏輯數(shù)據(jù)庫(kù)結(jié)構(gòu)數(shù)據(jù)庫(kù)用戶登陸操作score表修改信息添加信息刪除信息 4.3涉及算法的思想4.3.1建立數(shù)據(jù)庫(kù)通過(guò)ADO建立兩個(gè)數(shù)據(jù)庫(kù)(新建 Microsoft Office Access 應(yīng)用程序)存放登陸信息和學(xué)生信息。4.3.2數(shù)據(jù)錄入在新建學(xué)生信息數(shù)據(jù)庫(kù)中錄入學(xué)生信息。4.3.3登錄框的設(shè)計(jì) 建立變量Sname,Spsw,通過(guò)格式變幻,將CString格式轉(zhuǎn)換成數(shù)據(jù)庫(kù)規(guī)定的格式 通過(guò)compare函數(shù)將輸入的用戶名與密碼與數(shù)據(jù)庫(kù)比較4.3.4注冊(cè)框的設(shè)計(jì)先判定輸入框里的名字在數(shù)據(jù)庫(kù)里

10、不存在,然后將輸入的信息替換入數(shù)據(jù)庫(kù)4.3.5添加記錄建立一個(gè)新的窗口,包含姓名,學(xué)號(hào),年齡等基本信息錄入框 用戶錄入要添加記錄信息,如果要添加記錄和已有記錄不沖突就會(huì)把錄入信息添加到新建 Microsoft Office Access 應(yīng)用程序記錄集中。4.3.6修改記錄對(duì)已經(jīng)錄入的學(xué)生信息進(jìn)行修改4.3.7刪除記錄 將已選中的記錄從記錄集中去除。5用戶使用說(shuō)明5.1開(kāi)發(fā)運(yùn)行環(huán)境5.1.1設(shè)備:本系統(tǒng)對(duì)設(shè)備的要求很低,一般的電腦主機(jī)都能運(yùn)行。運(yùn)行前安裝Visual C 6.0。5.1.2支持軟件:系統(tǒng)支持:Windows 7等。開(kāi)發(fā)工具:Visual C 6.0、Access 2010。5.

11、2數(shù)據(jù)庫(kù)的名稱及內(nèi)容本系統(tǒng)包含兩個(gè)數(shù)據(jù)庫(kù),Data和Database數(shù)據(jù)庫(kù),Database數(shù)據(jù)庫(kù)中儲(chǔ)存的是用戶名與密碼,Data數(shù)據(jù)庫(kù)中儲(chǔ)存的是學(xué)生的學(xué)號(hào)、姓名、年齡、聯(lián)系方式、宿舍。Data(學(xué)生通訊表)字段名稱中文含義數(shù)據(jù)類型寬度Num學(xué)號(hào)文本20Name姓名文本20Age年齡數(shù)字3Home宿舍文本20Phone聯(lián)系電話文本20Database(管理登錄表)字段名稱中文含義數(shù)據(jù)類型寬度Logname用戶名文本20Logpsw用戶密碼文本206關(guān)鍵源程序6.1建立工程6.2模塊1先在學(xué)生信息管理系統(tǒng).cpp中添加代碼,通過(guò)ADO創(chuàng)建登陸數(shù)據(jù)庫(kù)/ 學(xué)生信息管理系統(tǒng).cpp : Defines

12、 the class behaviors for the application.#include stdafx.h#include 學(xué)生信息管理系統(tǒng).h#include 學(xué)生信息管理系統(tǒng)Dlg.h#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;#endif/ CMyAppBEGIN_MESSAGE_MAP(CMyApp, CWinApp)/AFX_MSG_MAP(CMyApp)/ NOTE - the ClassWizard will add and remove mapping

13、 macros here./ DO NOT EDIT what you see in these blocks of generated code!/AFX_MSGON_COMMAND(ID_HELP, CWinApp:OnHelp)END_MESSAGE_MAP()/ CMyApp constructionCMyApp:CMyApp()/ TODO: add construction code here,/ Place all significant initialization in InitInstance/ The one and only CMyApp objectCMyApp th

14、eApp;CDaoDatabase db;/建立全局變量,在其他地方調(diào)用時(shí)要加extern/ CMyApp initializationBOOL CMyApp:InitInstance()AfxEnableControlContainer();/ Standard initialization/ If you are not using these features and wish to reduce the size/ of your final executable, you should remove from the following/ the specific initializ

15、ation routines you do not need.#ifdef _AFXDLLEnable3dControls();/ Call this when using MFC in a shared DLL#elseEnable3dControlsStatic();/ Call this when linking to MFC statically#endif/這里就是程序入口,在這里添加數(shù)據(jù)庫(kù)檢查代碼CString Filepath=Database.mdb;CDaoRecordset Dbset(&db); CFileFind Ffind;/先看看存不存在數(shù)據(jù)庫(kù)文件 BOOL fla

16、g=Ffind.FindFile(Filepath); Ffind.Close(); if(!flag)/如果沒(méi)有就創(chuàng)建CString sqlcmd=CREATE TABLE DataTable(Name VARCHAR(20),Psw VARCHAR(20);db.Create(Filepath);db.Execute(sqlcmd);Dbset.Open(AFX_DAO_USE_DEFAULT_TYPE,SELECT * FROM DataTable,0);Dbset.AddNew();Dbset.SetFieldValue(Name,_variant_t(wzh);Dbset.SetFi

17、eldValue(Psw,_variant_t(123456);Dbset.Update();Dbset.Close();db.Close();/建立數(shù)據(jù)庫(kù)文件,設(shè)置初始化賬號(hào)CMyDlg dlg;m_pMainWnd = &dlg;int nResponse = dlg.DoModal();if (nResponse = IDOK)/ TODO: Place code here to handle when the dialog is/ dismissed with OKelse if (nResponse = IDCANCEL)/ TODO: Place code here to hand

18、le when the dialog is/ dismissed with Cancel/ Since the dialog has been closed, return FALSE so that we exit the/ application, rather than start the applications message pump.return FALSE;void CMyDlg:OnPaint() if (IsIconic()CPaintDC dc(this); / device context for paintingSendMessage(WM_ICONERASEBKGN

19、D, (WPARAM) dc.GetSafeHdc(), 0);/ Center icon in client rectangleint cxIcon = GetSystemMetrics(SM_CXICON);int cyIcon = GetSystemMetrics(SM_CYICON);CRect rect;GetClientRect(&rect);int x = (rect.Width() - cxIcon + 1) / 2;int y = (rect.Height() - cyIcon + 1) / 2;/ Draw the icondc.DrawIcon(x, y, m_hIcon

20、);else/ 給窗體添加背景 CPaintDC dc(this); CRect rc; GetClientRect(&rc); CDC dcMem; dcMem.CreateCompatibleDC(&dc); CBitmap bmpBackground; bmpBackground.LoadBitmap(IDB_BITMAP1); BITMAP bitmap; bmpBackground.GetBitmap(&bitmap);/取得bmpBackground中圖片的信息,放在bitmap所指的指針中 CBitmap* pbmpPri = dcMem.SelectObject(&bmpBac

21、kground); dc.StretchBlt(0,0,rc.Width(), rc.Height(), &dcMem,0,0,bitmap.bmWidth, bitmap.bmHeight, SRCCOPY);/CDialog:OnPaint();進(jìn)入系統(tǒng)void CMyDlg:OnButton1() DIALOGLOG tec;tec.DoModal();退出系統(tǒng)void CMyDlg:OnButton2() if(IDYES=MessageBox(確定退出?,退出程序, MB_ICONQUESTION|MB_YESNO )DestroyWindow();6.3模塊2登陸extern CD

22、aoDatabase db;/調(diào)用那個(gè)全局變量void DIALOGLOG:Onlogbt() /判斷輸入筐里的內(nèi)容和數(shù)據(jù)庫(kù)里的內(nèi)容是否吻合UpdateData(true);CDaoRecordset Dbset(&db);CString Filepath=Database.mdb;CString Sname,Spsw;_variant_t varname,varpsw;db.Open(Filepath);Dbset.Open(AFX_DAO_USE_DEFAULT_TYPE,SELECT * FROM DataTable,0);varname=Dbset.GetFieldValue(Name

23、);varpsw=Dbset.GetFieldValue(Psw);Sname=(LPCSTR)_bstr_t(varname);Spsw=(LPCSTR)_bstr_t(varpsw);Dbset.Close();db.Close();if(m_logname.IsEmpty()|m_logpsw.IsEmpty()/如果輸入框中存在空輸入MessageBox(信息不能為空!);return;if(Sname.Compare(m_logname)=0&Spsw.Compare(m_logpsw)=0)/如果密碼和用戶與數(shù)據(jù)庫(kù)一致MessageBox(登入成功!,溫情提示);DIALOG3 d

24、lg;dlg.DoModal();elseMessageBox(用戶名或密碼錯(cuò)誤!,溫情提示);return;注冊(cè)void DIALOGLOG:Onlogreg() DIALOGREG dlg;dlg.DoModal();6.4模塊3取消void DIALOGREG:OnRegcancle() CDialog:OnCancel();注冊(cè)void DIALOGREG:OnRegbt() /讓數(shù)據(jù)庫(kù)里一直只有一個(gè)用戶UpdateData(true);/及時(shí)更新數(shù)據(jù)CString Filepath=Database.mdb;CString Sname;_variant_t varname;CDaoR

25、ecordset Dbset(&db);db.Open(Filepath);Dbset.Open(AFX_DAO_USE_DEFAULT_TYPE,SELECT * FROM DataTable,0);varname=Dbset.GetFieldValue(Name);Sname=(LPCSTR)_bstr_t(varname);if(m_regname.IsEmpty()|m_regpsw.IsEmpty()MessageBox(信息不能為空!,溫情提示);return;if(m_regpsw!=m_regpsw1) AfxMessageBox(密碼不一致); return;if(Sname

26、.Compare(m_regname)!=0)/如果輸入框里的名字在數(shù)據(jù)庫(kù)里不存在Dbset.Edit();/將新數(shù)據(jù)代替舊數(shù)據(jù)Dbset.SetFieldValue(Name,_variant_t(m_regname);Dbset.SetFieldValue(Psw,_variant_t(m_regpsw);Dbset.Update();MessageBox(用戶注冊(cè)成功!,溫情提示);CDialog:OnOK(); else/如果輸入的名字和數(shù)據(jù)庫(kù)里的一致,這提示存在該用戶MessageBox(該用戶已存在!,溫情提示);Dbset.Close();db.Close();6.5模塊4初始化

27、窗口BOOL DIALOG3:OnInitDialog() CDialog:OnInitDialog();/ TODO: Add extra initialization herem_list.SetExtendedStyle(LVS_EX_FLATSB|LVS_EX_FULLROWSELECT|LVS_EX_HEADERDRAGDROP|LVS_EX_ONECLICKACTIVATE|LVS_EX_GRIDLINES);/設(shè)置擴(kuò)展樣式m_list.InsertColumn(0,學(xué)號(hào),LVCFMT_LEFT,100,0);/添加學(xué)號(hào)項(xiàng)m_list.InsertColumn(1,姓名,LVCFM

28、T_LEFT,100,1);/添加姓名項(xiàng)m_list.InsertColumn(2,年齡,LVCFMT_LEFT,100,2);/添加年齡項(xiàng)m_list.InsertColumn(3,聯(lián)系方式,LVCFMT_LEFT,200,3);/添加聯(lián)系方式項(xiàng)m_list.InsertColumn(4,宿舍,LVCFMT_LEFT,100,4);/添加宿舍項(xiàng)readDb();/在初始化函數(shù)中,如果沒(méi)有找到數(shù)據(jù)庫(kù)文件就創(chuàng)建,并且在列表中顯示出來(lái)return TRUE; / return TRUE unless you set the focus to a control通過(guò)ADO創(chuàng)建學(xué)生信息數(shù)據(jù)庫(kù)void

29、DIALOG3:readDb()CString Filepath=Data.mdb;/將數(shù)據(jù)庫(kù)文件Data.mdb在程序的同一目錄下 CFileFind Ffind;/先看看存不存在數(shù)據(jù)庫(kù)文件 BOOL flag=Ffind.FindFile(Filepath); Ffind.Close(); if(!flag)/如果沒(méi)有,就創(chuàng)建aa.Create(Filepath); CString sqlcmd=CREATE TABLE DataTable(Num VARCHAR(20),Name VARCHAR(20),Age VARCHAR(3),Phone VARCHAR(20),Home VARC

30、HAR(20);/創(chuàng)建內(nèi)部表,并設(shè)置兩個(gè)屬性(姓名,年齡) aa.Execute(sqlcmd);/執(zhí)行sql指令 aa.Close();/創(chuàng)建完成一定要關(guān)閉,否則出錯(cuò) MessageBox(數(shù)據(jù)庫(kù)已建立成功!,溫情提示);_variant_t varnum,varname;COleVariant varage,varphone,varhome; CString Sname,Sage,Snum,Sphone,Shome;int i=0;aa.Open(Filepath);Dbset.Open(AFX_DAO_USE_DEFAULT_TYPE,SELECT * FROM DataTable,0)

31、;while(!Dbset.IsEOF()varnum=Dbset.GetFieldValue(Num);varname=Dbset.GetFieldValue(Name);varage=Dbset.GetFieldValue(Age);varphone=Dbset.GetFieldValue(Phone);varhome=Dbset.GetFieldValue(Home);Snum=(LPCSTR)_bstr_t(varnum);Sname=(LPCSTR)_bstr_t(varname);Sage=(LPCSTR)varage.pbstrVal;Sphone=(LPCSTR)varphon

32、e.pbstrVal;Shome=(LPCSTR)varhome.pbstrVal;/分別將數(shù)據(jù)庫(kù)里面讀出來(lái)的文件轉(zhuǎn)換成CStringm_list.InsertItem(i,);m_list.SetItemText(i,0,Snum);m_list.SetItemText(i,1,Sname);m_list.SetItemText(i,2,Sage);m_list.SetItemText(i,3,Sphone);m_list.SetItemText(i,4,Shome);Dbset.MoveNext();/沒(méi)有就不能循環(huán)i+;Dbset.Close();aa.Close();與表格相關(guān)聯(lián)voi

33、d DIALOG3:OnClickList(NMHDR* pNMHDR, LRESULT* pResult) int pos=m_list.GetSelectionMark();m_num=m_list.GetItemText(pos,0);m_name=m_list.GetItemText(pos,1);m_age=m_list.GetItemText(pos,2);m_phone=m_list.GetItemText(pos,3);m_home=m_list.GetItemText(pos,4);UpdateData(false);*pResult = 0;新建void DIALOG3:O

34、nadd() UpdateData(true);if(m_name.IsEmpty()|m_age.IsEmpty()|m_num.IsEmpty()|m_phone.IsEmpty()|m_home.IsEmpty()/如果輸入框?yàn)榭眨瑒t提示信息MessageBox(信息不能為空!,溫情提示);elseCString Filepath=Data.mdb;int i=m_list.GetItemCount();/在列表的隊(duì)尾添加,所以先獲取行數(shù)aa.Open(Filepath);Dbset.Open(AFX_DAO_USE_DEFAULT_TYPE,SELECT * FROM DataTabl

35、e,0);Dbset.AddNew();/在記錄集的隊(duì)尾添加 Dbset.SetFieldValue(Num,_variant_t(m_num);Dbset.SetFieldValue(Age,atol(m_age);Dbset.SetFieldValue(Name,_variant_t(m_name);Dbset.SetFieldValue(Home,atol(m_home);Dbset.SetFieldValue(Phone,atol(m_phone);/將CString格式轉(zhuǎn)換成數(shù)據(jù)庫(kù)規(guī)定的格式Dbset.Update();/及時(shí)更新Dbset.Close();aa.Close();/并

36、關(guān)閉m_list.InsertItem(i,);m_list.SetItemText(i,0,m_num);m_list.SetItemText(i,1,m_name);/在列表里顯示m_list.SetItemText(i,2,m_age);m_list.SetItemText(i,3,m_phone);m_list.SetItemText(i,4,m_home);刪除void DIALOG3:Ondel() int pos=m_list.GetSelectionMark();/所選中行的索引號(hào)if(!(pos+1)/如果沒(méi)有選中從第一行到最后一行,則提示選中先MessageBox(請(qǐng)先選擇

37、需要?jiǎng)h除的一行!,溫情提示);elseCString Filepath=Data.mdb;aa.Open(Filepath);Dbset.Open(AFX_DAO_USE_DEFAULT_TYPE,SELECT * FROM DataTable,0);Dbset.Move(pos);/將記錄集的指針移動(dòng)到當(dāng)前數(shù)據(jù)的索引處Dbset.Delete();/刪除數(shù)據(jù)Dbset.Close();aa.Close();m_list.DeleteAllItems();readDb();/最后兩句的作用是刷新列表修改void DIALOG3:Onmodify() UpdateData(true);int p

38、os=m_list.GetSelectionMark();if(!(pos+1)MessageBox(請(qǐng)先選擇需要修改的行!,溫情提示);elseCString Filepath=Data.mdb;aa.Open(Filepath);Dbset.Open(AFX_DAO_USE_DEFAULT_TYPE,SELECT * FROM DataTable,0);Dbset.Move(pos);Dbset.Edit();/將指針移動(dòng)到所選項(xiàng)后,將數(shù)據(jù)置于編輯狀態(tài)Dbset.SetFieldValue(Num,_variant_t(m_num);Dbset.SetFieldValue(Name,_va

39、riant_t(m_name);Dbset.SetFieldValue(Age,atol(m_age); Dbset.SetFieldValue(Phone,atol(m_phone);Dbset.SetFieldValue(Home,atol(m_home);Dbset.Update();/修改完以后更新,否則會(huì)出錯(cuò)Dbset.Close();aa.Close();m_list.DeleteAllItems();readDb();成員變量信息:/ stdafx.h : include file for standard system include files,/ or project sp

40、ecific include files that are used frequently, but/ are changed infrequently#if !defined(AFX_STDAFX_H_B7A04679_274E_49A4_BE2C_DE7F27AD1443_INCLUDED_)#define AFX_STDAFX_H_B7A04679_274E_49A4_BE2C_DE7F27AD1443_INCLUDED_#if _MSC_VER 1000#pragma once#endif / _MSC_VER 1000#define VC_EXTRALEAN/ Exclude rar

41、ely-used stuff from Windows headers#include / MFC core and standard components#include / MFC extensions#include / MFC Automation classes#include / MFC support for Internet Explorer 4 Common Controls#ifndef _AFX_NO_AFXCMN_SUPPORT#include / MFC support for Windows Common Controls#endif / _AFX_NO_AFXCMN_SUPPORT#include #include/AFX_INSERT_LOCATION/ Microsoft Visual C+ will insert additional declarations immediately before the previous line.#endif / !defined(AFX_STDAFX_H_B7

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論