c++1學(xué)生信息管理系統(tǒng)_第1頁
c++1學(xué)生信息管理系統(tǒng)_第2頁
c++1學(xué)生信息管理系統(tǒng)_第3頁
c++1學(xué)生信息管理系統(tǒng)_第4頁
c++1學(xué)生信息管理系統(tǒng)_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

學(xué)Th信息管理系統(tǒng)課程設(shè)計(jì)的目的隨著信息技術(shù)在管理上越來越深化而廣泛的應(yīng)用,管理信息系統(tǒng)的實(shí)施在技術(shù)上已逐步成熟。管理信息系統(tǒng)是一個(gè)不斷進(jìn)展的新型學(xué)科,任何一個(gè)單位要生存要進(jìn)展,要高效率地把內(nèi)部活動(dòng)有機(jī)地組織起來,就必需建立與自身特點(diǎn)相適應(yīng)的管理信息系統(tǒng)。VC++程序設(shè)計(jì)課程設(shè)計(jì)是計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)的《VC++程序設(shè)計(jì)》課程的綜合性實(shí)踐環(huán)節(jié)。VC++程序設(shè)計(jì)是一門有用性很強(qiáng)的學(xué)科,是進(jìn)行軟件開發(fā)的主要工具,只有進(jìn)行實(shí)際操作,才能將理論學(xué)問和實(shí)際應(yīng)用有機(jī)的結(jié)合起來,熬煉同學(xué)分析解決實(shí)際問題的力量,提高同學(xué)實(shí)際運(yùn)用的力量,為同學(xué)畢業(yè)設(shè)計(jì),日后工作中的軟件開發(fā)打下良好的基礎(chǔ)。需求分析用計(jì)算機(jī)技術(shù)實(shí)現(xiàn)的科學(xué)化管理,是在信息技術(shù)快速進(jìn)展的今日學(xué)校提高管理效率(MI同學(xué)信息管理系統(tǒng)用來將某一個(gè)院系按專業(yè)、班級(jí)來管理同學(xué)的基本信息、課程信息和同學(xué)成果。下面就其系統(tǒng)功能作簡潔的說明。該系統(tǒng)主要是便利查詢同學(xué)的信息,用該系統(tǒng)可以查到同學(xué)的姓名,年齡,學(xué)號(hào),性別,學(xué)院,班級(jí)等??梢越y(tǒng)計(jì)同學(xué)在某一學(xué)期的總學(xué)分或者單科成果、總成果。系統(tǒng)主要功能包括:信息操作功能、查詢功能、統(tǒng)計(jì)功能、分析功能。信息操作功能同學(xué)基本信息的添加、修改和刪除。同學(xué)基本信息包括:學(xué)號(hào)(學(xué)號(hào)的前 6位為班級(jí)號(hào)、姓名、性別、誕生日期和所在專業(yè)。和和學(xué)分。查詢功能可以通過學(xué)號(hào)來查詢同學(xué)基本信息,通過學(xué)號(hào)可以查詢同學(xué)的選課信息,通過學(xué)號(hào)和學(xué)期查詢同學(xué)的成果,通過課程號(hào)查詢?cè)撜n程的信息。統(tǒng)計(jì)功能科成果或者總成果。運(yùn)行環(huán)境硬件環(huán)境處理器:InterCentrinoDuo。內(nèi)存:521MB。硬盤空間:80G。軟件環(huán)境操作系統(tǒng):WindowsXPMicrosoftvisualc++ Microsoftaccess總體設(shè)計(jì)系統(tǒng)的結(jié)構(gòu)圖同學(xué)信息管理系統(tǒng)是對(duì)同學(xué)的基本信息和成果信息進(jìn)行管理,主要包括添加、修改和刪除同學(xué)的基本信息及課程的基本信息;錄入、修改和刪除同學(xué)的成果信息,對(duì)基本信息、成果信息進(jìn)行查詢、排序及統(tǒng)計(jì)等操作,從而實(shí)現(xiàn)同學(xué)信息管理的自動(dòng)化與計(jì)算機(jī)化。本課題將實(shí)現(xiàn)一個(gè)簡化的同學(xué)信息管理系統(tǒng)。添加信息:使用這個(gè)模塊,可以添加同學(xué)的基本信息,包括同學(xué)的學(xué)號(hào),姓畢業(yè)院校,身份證號(hào),電子郵箱,聯(lián)系電話,家庭住址,備注等。成果導(dǎo)入:包括學(xué)號(hào),課程編號(hào),課程名稱,學(xué)分,成果。信息查詢:包括學(xué)號(hào),姓名,班級(jí),學(xué)院。成果查詢:包括課程名稱,課程編號(hào)。個(gè)人信息:當(dāng)點(diǎn)擊這個(gè)按鈕時(shí),可以顯示當(dāng)前某個(gè)人的信息。查看成果:點(diǎn)擊這個(gè)按鈕時(shí),可以顯示當(dāng)前這個(gè)人的全部成果。設(shè)計(jì)數(shù)據(jù)庫MicrosoftAccessmain.mdb,3studentcouesescore31~3studentnocoursenostudent和courseScorestudentnostudentcoursecoursecoursenostudentcoursemain.mdbspeical,4表1 同學(xué)基本信息表結(jié)構(gòu)序號(hào)字段名稱數(shù)據(jù)類型字段大小小數(shù)位字段含義1studentname文本20姓名2studentno文本10學(xué)號(hào)3xb是/否50性別4birthday日期/時(shí)間誕生年月5speical文本專業(yè)表2 課程信息表結(jié)構(gòu)序號(hào)字段名稱數(shù)據(jù)類型 字段大小 小數(shù)位字段含義1courseno文本 7 ——課程號(hào)2special文本 50 ——所屬專業(yè)3coursename文本 50 ——課程名4coursetype文本 10 ——課程類型5openterm數(shù)字 字節(jié) ——開學(xué)學(xué)期6hours數(shù)字字節(jié)——課時(shí)數(shù)7credit數(shù)字單精度1學(xué)分表3 同學(xué)課程成果表結(jié)構(gòu)序號(hào)字段名稱數(shù)據(jù)類型 字段大小 小數(shù)位字段含義1studentno文本 8學(xué)號(hào)2course文本 7課程號(hào)3score數(shù)字 單精度 1成果4credit數(shù)字 單精度 1學(xué)分具體設(shè)計(jì)62信息查詢的設(shè)計(jì)

圖2系統(tǒng)的主界面下面我們對(duì)信息查詢做具體的設(shè)計(jì)。信息查詢這個(gè)模塊的功能主要通過某個(gè)同學(xué)的某一項(xiàng)信息,比如學(xué)號(hào),班級(jí),姓名,專業(yè),班級(jí),然后查詢到這個(gè)同學(xué)的多個(gè)信息。比如通過同學(xué)的學(xué)號(hào),可以查詢到這個(gè)同學(xué)所在學(xué)院,所在班級(jí)等。當(dāng)我們點(diǎn)擊信息查詢這個(gè)按鈕時(shí),顯示一個(gè)對(duì)話框,如圖3所示。圖3信息查詢的界面當(dāng)我們點(diǎn)擊信息查詢按鈕時(shí),會(huì)馬上彈出一個(gè)對(duì)話框,期中對(duì)話框中包括一個(gè)列表框,列表框中包括學(xué)號(hào),姓名,學(xué)院,專業(yè),班級(jí),列表框中還包括2個(gè)按鈕,一個(gè)查找按鈕,一個(gè)取消按鈕。CRecordSetm_strFilter、m_strSortOpen表進(jìn)行記錄查詢。Ex_ODBC4IDIDC_EDIT_QUERY,IDIDC_BUTTON_QUERY..圖4添加控件MFCclasswizardIDC_EDIT_QUERYm_strQuery.在CEx_ODBCViewIDC_BUTTON_QUERYBN_CLICKED射,并在映射函數(shù)中添加下列代碼:voidCMemberView::RemoveAll(){//ListViewCListCtrlCListCtrl*ctl;ctl=&GetListCtrl();//CListCtrlctl->DeleteAllItems();}//strSearch查詢條件 strMember關(guān)鍵字voidCMemberView::ListMember(CStringstrSearch,CStringstrMember){//前此輸出的用戶記錄RemoveAll();//ListCtrlCListCtrl*ctl;ctl=&GetListCtrl();//創(chuàng)建CMemberReSet的實(shí)例CMemberReSetm_MemberReSet;//記錄用戶序號(hào)inti=0;//SQLcharchrTemp='%';CStringstrTemp;try{if(m_MemberReSet.IsOpen())m_MemberReSet.Close();//設(shè)置查詢條件"MemName=strMemberName"if(strMember==""){AfxMessageBox("請(qǐng)輸入關(guān)鍵字");return;}所示。圖5陳一的個(gè)人信息在個(gè)人信息的模塊里包括多個(gè)輸入框,比如學(xué)號(hào),姓名,性別,民族,籍貫,誕生26圖6消息提示在這個(gè)操作過程中我們需要建立一個(gè)映射控件消息。Ex_DlgCtrlsResourseViewDialogIDD_EX_DLGCTRLS_DLALOG,打開該對(duì)話框資源模板刪除“TODO:在這里設(shè)置對(duì)話把握”控件,添加一個(gè)按鈕控件,保留其默認(rèn)屬性。CTRL+W,打開""MFCCLASSWIZAD"對(duì)話框,查看“classnameCEx_DlgCtrlsDlgIDsIDS_BUTTON1,這是添加按鈕后,系統(tǒng)自MessagesBN_CKICKED“AddfunctionBN_CLICKED“AddMemberONButton1。單吸"OK"MFCClassWizard的“Memberfunction”列表中將列出新增加的成員函數(shù)。選擇此函數(shù),單吸“EditCode”按鈕,開發(fā)環(huán)境的文檔窗口中將自動(dòng)碼:VoidCEx_DlgCtrlsDlg::onButton(){MessageBox("確定修改記錄?")}ONButton1框。心得體會(huì)剛看到課程設(shè)計(jì)題目的時(shí)候,總感覺對(duì)visualc++也比較混亂,但是在劃分模塊后明確的各自分工,漸漸的有了點(diǎn)眉目。在設(shè)計(jì)的過程中,經(jīng)常會(huì)遇到這樣那樣的問題,比如說怎樣才能實(shí)現(xiàn)我們所要的功能,設(shè)計(jì)過程中的圖的畫法,程序的編寫、文檔的編寫、排版等。由于課本上的學(xué)問太多,平常課間的學(xué)習(xí)并不能很好的理解和運(yùn)用學(xué)問,面對(duì)這些問題,我們就自己上圖書館借書,網(wǎng)上搜素資料,相互爭辯來解決我們的問題。真的是體會(huì)到了只有理論學(xué)問是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論學(xué)問與實(shí)踐相結(jié)合起來,從理論中得出結(jié)論,才能真正的為我所用,從而提高自己的實(shí)際動(dòng)手力量和獨(dú)立思考的力量。此次課程設(shè)計(jì),讓我們學(xué)到了很多課內(nèi)學(xué)不到的東西,比如獨(dú)立思考解決問題,消滅差錯(cuò)的隨機(jī)應(yīng)變,和與人合作共同提高等等,無不讓我們受益非淺。參考文獻(xiàn)王珊,薩師煊編著.vc++有用教程[M].北京高等教育出版社,2007.783-126孫越編著.VisualC++數(shù)據(jù)庫開發(fā)自學(xué)教程[M].2003.750-75王彬華,李建華編著.VisualC++實(shí)例教程[M]2004.48-95[4][M].附錄:#include"stdafx.h"#include"member.h"#include"memberDoc.h"#include"memberView.h"#include"MainFrm.h"#include"MemberReSet.h"#include"MemberDialog.h"#include"MemberEditDlg.h"#include"ScoreDlg.h"#include"ScoreReSet.h"#include"MemberAdd.h"#ifdef_DEBUG#definenewDEBUG_NEW#undefTHIS_FILEstaticcharTHIS_FILE[]= FILE #endif//CMemberViewIMPLEMENT_DYNCREATE(CMemberView,CListView)BEGIN_MESSAGE_MAP(CMemberView,CListView)//{{AFX_MSG_MAP(CMemberView)ON_NOTIFY_REFLECT(NM_DBLCLK,OnDblclk)//}}AFX_MSG_MAP//StandardprintingcommandsON_COMMAND(ID_FILE_PRINT,CListView::OnFilePrint)ON_COMMAND(ID_FILE_PRINT_DIRECT,CListView::OnFilePrint)ON_COMMAND(ID_FILE_PRINT_PREVIEW,CListView::OnFilePrintPreview)END_MESSAGE_MAP()//CMemberViewconstruction/destructionCMemberView::CMemberView(){//TODO:addconstructioncodehere}CMemberView::~CMemberView(){}BOOLCMemberView::PreCreateWindow(CREATESTRUCT&cs){//TODO:ModifytheWindowclassorstylesherebymodifying// theCREATESTRUCTcs//CListCtrl的格式為:LVS_REPORTcs.style|=LVS_REPORT|LVS_SINGLESEL;returnCListView::PreCreateWindow(cs);//CMemberViewdrawingvoidCMemberView::OnDraw(CDC*pDC){CMemberDoc*pDoc=GetDocument();//TODO:adddrawcodefornativedatahere}voidCMemberView::OnInitialUpdate(){T);}

//CListCtrlCListCtrl*ctl;ctl=&GetListCtrl();//指向CListView的CListCtrl//表格風(fēng)格ctl->SetExtendedStyle(ctl->GetExtendedStyle()|LVS_EX_GRIDLINES|LVS_EX_FULLROWSELEC//利用CLisrCtrl設(shè)置列的題頭ctl->InsertColumn(0,"學(xué)號(hào)",LVCFMT_LEFT,100);ctl->InsertColumn(1,"姓名",LVCFMT_LEFT,100);ctl->InsertColumn(2,"性別",LVCFMT_LEFT,80);ctl->InsertColumn(4,"學(xué)院",LVCFMT_LEFT,100);ctl->InsertColumn(5,"專業(yè)",LVCFMT_LEFT,100);ctl->InsertColumn(6,"所在班級(jí)",LVCFMT_LEFT,100);ctl->InsertColumn(7,"聯(lián)系號(hào)碼",LVCFMT_LEFT,100);ctl->InsertColumn(8,"寢室地址",LVCFMT_LEFT,200);OnPaint();CListView::OnInitialUpdate();//獵取CMainFrame的指針CMainFrame*m_Frm=(CMainFrame*)::AfxGetMainWnd();//CMainFramem_ListVietCMemberViewm_Frm->m_ListView=this;//TODO:YoumaypopulateyourListViewwithitemsbydirectlyaccessing// itslistcontrolthroughacalltoGetListCtrl().//CMemberViewprintingBOOLCMemberView::OnPreparePrinting(CPrintInfo*pInfo){//defaultpreparationreturnDoPreparePrinting(pInfo);}voidCMemberView::OnBeginPrinting(CDC*/*pDC*/,CPrintInfo*/*pInfo*/){//TODO:addextrainitializationbeforeprinting}voidCMemberView::OnEndPrinting(CDC*/*pDC*/,CPrintInfo*/*pInfo*/){//TODO:addcleanupafterprinting}//CMemberViewdiagnostics#ifdef_DEBUGvoidCMemberView::AssertValid()const{CListView::AssertValid();}voidCMemberView::Dump(CDumpContext&dc)const{CListView::Dump(dc);}CMemberDoc*CMemberView::GetDocument()//non-debugversionisinline{ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CMemberDoc)));return(CMemberDoc*)m_pDocument;}#endif//_DEBUG//CMemberViewmessagevoidCMemberView::RemoveAll(){//ListViewCListCtrlCListCtrl*ctl;ctl=&GetListCtrl();//CListCtrlctl->DeleteAllItems();}//strSearch查詢條件 strMember關(guān)鍵字voidCMemberView::ListMember(CStringstrSearch,CStringstrMember){//前此輸出的用戶記錄RemoveAll();//建立一個(gè)指針,用以操作ListCtrl輸出用戶記錄CListCtrl*ctl;ctl=&GetListCtrl();//CMemberReSet的實(shí)例CMemberReSetm_MemberReSet;//記錄用戶序號(hào)inti=0;//"%"SQLcharchrTemp='%';CStringstrTemp;try{if(m_MemberReSet.IsOpen())m_MemberReSet.Close();//設(shè)置查詢條件"MemName=strMemberName"if(strMember==""){AfxMessageBox("請(qǐng)輸入關(guān)鍵字");return;}if(strSearch=="學(xué)號(hào)"){CStringstr;str.Format("select*frommemberwhereMemID='%s'orderbyMemIDASC",strMember);m_MemberReSet.Open(CRecordset::snapshot,str,CRecordset::none);}elseif(strSearch=="姓名"){m_MemberReSet.m_strFilter.Format("MemNameLIKE'%c%s%c'orderbyASC",chrTemp,strMember.operatorLPCTSTR(),chrTemp);m_MemberReSet.Open(CRecordset::snapshot,NULL,CRecordset::none);}elseif(strSearch=="學(xué)院"){m_MemberReSet.m_strFilter.Format("MemIns='%s'orderbyASC",strMember.operatorLPCTSTR());m_MemberReSet.Open(CRecordset::snapshot,NULL,CRecordset::none);}elseif(strSearch=="專業(yè)"){m_MemberReSet.m_strFilter.Format("MemSpeLIKE'%c%s%c'orderbyMemIDASC",chrTemp,strMember.operatorLPCTSTR(),chrTemp);m_MemberReSet.Open(CRecordset::snapshot,NULL,CRecordset::none);}elseif(strSearch=="班級(jí)"){m_MemberReSet.m_strFilter.Format("MemYearLIKE'%c%s%c'orderbyASC",chrTemp,strMember.operatorLPCTSTR(),chrTemp);m_MemberReSet.Open(CRecordset::snapshot,NULL,CRecordset::none);}elseif(strSearch=="tree"){m_MemberReSet.m_strFilter.Format("MemYear=%sorderbyASC",strMember.operatorLPCTSTR());m_MemberReSet.Open(CRecordset::snapshot,NULL,CRecordset::none);}else{}

AfxMessageBox("條件選擇錯(cuò)誤");return;//輸出匹配上查詢到的用戶記錄,直到記錄為空while(!m_MemberReSet.IsEOF()){ctl->InsertItem(i,m_MemberReSet.m_MemID);ctl->SetItemText(i,1,m_MemberReSet.m_MemName);ctl->SetItemText(i,2,m_MemberReSet.m_MemSex);ctl->SetItemText(i,3,m_MemberReSet.m_MemIns);ctl->SetItemText(i,4,m_MemberReSet.m_MemSpe);ctl->SetItemText(i,5,m_MemberReSet.m_MemYear);ctl->SetItemText(i,6,m_MemberReSet.m_MemPhone);ctl->SetItemText(i,7,m_MemberReSet.m_MemBed);m_MemberReSet.MoveNext();}if(m_MemberReSet.IsOpen())m_MemberReSet.Close();}catch(CDBException*e){e->Delete();return; }}voidCMemberView::EditCurUser(){//建立一個(gè)指針,用以操作ListCtrl輸出用戶記錄CListCtrl*ctl;ctl=&GetListCtrl();//查找當(dāng)前選中的記錄的位置POSITIONpos=ctl->GetFirstSelectedItemPosition();if(pos==NULL){//假如沒有選擇記錄,則提示并退出AfxMessageBox("請(qǐng)先選擇一條信息!");return;}//獵取當(dāng)前記錄的位置游標(biāo)intm_CurUser=ctl->GetNextSelectedItem(pos);//MemberEditDlg的實(shí)例CMemberEditDlgm_MemberEditDlg;CMemberReSetm_MemberReSet;//創(chuàng)建一個(gè)臨時(shí)字符串來保存當(dāng)前用戶信息charchrTemp[201]={'\0'};//查找學(xué)號(hào)ctl->GetItemText(m_CurUser,0,chrTemp,sizeof(char[20]));if(m_MemberReSet.IsOpen())m_MemberReSet.Close();m_MemberReSet.m_strFilter.Format("MemIDLIKE'%s'",chrTemp);m_MemberReSet.Open(CRecordset::snapshot,NULL,CRecordset::none);//輸出匹配上條件用戶記錄,直到記錄為空if(m_MemberReSet.IsOpen()&&!m_MemberReSet.IsEOF()){//開頭顯示記錄的內(nèi)容m_MemberEditDlg.m_MemID=m_MemberReSet.m_MemID;m_MemberEditDlg.m_MemName=m_MemberReSet.m_MemName;m_MemberEditDlg.m_MemSex=m_MemberReSet.m_MemSex;m_MemberEditDlg.m_MemBorn=m_MemberReSet.m_MemBorn;m_MemberEditDlg.m_MemPolity=m_MemberReSet.m_MemPolity;m_MemberEditDlg.m_MemNative=m_MemberReSet.m_MemNative;m_MemberEditDlg.m_MemPlace=m_MemberReSet.m_MemPlace;m_MemberEditDlg.m_MemIns=m_MemberReSet.m_MemIns;m_MemberEditDlg.m_MemSpe=m_MemberReSet.m_MemSpe;m_MemberEditDlg.m_MemSchool=m_MemberReSet.m_MemSchool;m_MemberEditDlg.m_MemBed=m_MemberReSet.m_MemBed;m_MemberEditDlg.m_MemEmail=m_MemberReSet.m_MemEmail;m_MemberEditDlg.m_MemYear=m_MemberReSet.m_MemYear;m_MemberEditDlg.m_MemCard=m_MemberReSet.m_MemCard;m_MemberEditDlg.m_MemPhone=m_MemberReSet.m_MemPhone;m_MemberEditDlg.m_MemHadd=m_MemberReSet.m_MemHadd;m_MemberEditDlg.m_MemHphone=m_MemberReSet.m_MemHphone;m_MemberEditDlg.m_Remark=m_MemberReSet.m_Remark;}if(m_MemberEditDlg.DoModal()!=IDOK){//假如用戶選擇取消按鈕,則退出return;}UpdateData(FALSE);if(MessageBox("確定修改記錄?","修改確認(rèn)",MB_YESNO|MB_ICONQUESTION)==IDYES){try{if(m_MemberReSet.IsOpen())m_MemberReSet.Close();//設(shè)置查詢條件"MemID=chrTemp"m_MemberReSet.m_strFilter.Format("MemID='%s'",chrTemp);m_MemberReSet.Open(CRecordset::snapshot,NULL,CRecordset::none);//假如用戶記錄存在,則進(jìn)行修改操作if(m_MemberReSet.IsOpen()&&!m_MemberReSet.IsEOF()){//設(shè)置編輯當(dāng)前記錄m_MemberReSet.Edit();//開頭編輯該條記錄的內(nèi)容m_MemberReSet.m_MemID=m_MemberEditDlg.m_MemID;m_MemberReSet.m_MemName=m_MemberEditDlg.m_MemName;m_MemberReSet.m_MemSex=m_MemberEditDlg.m_MemSex;m_MemberReSet.m_MemBorn=m_MemberEditDlg.m_MemBorn;if(m_MemberReSet.CanUpdate()){m_MemberReSet.Update();}//更新完畢,關(guān)閉數(shù)據(jù)庫else{}}

m_MemberReSet.Close(); }//關(guān)閉數(shù)據(jù)庫if(m_MemberReSet.IsOpen())m_MemberReSet.Close();//提示用戶AfxMessageBox("該記錄不存在,無法修改!");return;catch(CDBException*e){e->ReportErrorreturn;}//將用戶信息準(zhǔn)時(shí)更新到ListCtrl中ctl->SetItemText(m_CurUser,0,m_MemberEditDlg.m_MemID);ctl->SetItemText(m_CurUser,1,m_MemberEditDlg.m_MemName);ctl->SetItemText(m_CurUser,2,m_MemberEditDlg.m_MemSex);ctl->SetItemText(m_CurUser,3,m_MemberEditDlg.m_MemIns);ctl->SetItemText(m_CurUser,4,m_MemberEditDlg.m_MemSpe);ctl->SetItemText(m_CurUser,5,m_MemberEditDlg.m_MemYear);ctl->SetItemText(m_CurUser,6,m_MemberEditDlg.m_MemPhone);ctl->SetItemText(m_CurUser,7,m_MemberEditDlg.m_MemBed);}}voidCMemberView::OnDblclk(NMHDR*pNMHDR,LRESULT*pResult){//TODO:Addyourcontrolnotificationhandlercodehere*pResult=0;EditCurUser();}voidCMemberView::LookMember(){//MemberDialog的實(shí)例CMemberDialogCMemberReSetm_MemberReSet;CStringchrTemp=FindPosition();if(chrTemp=="")return;if(m_MemberReSet.IsOpen())m_MemberReSet.Close();m_MemberReSet.m_strFilter.Format("MemIDLIKE'%s'",chrTemp);m_MemberReSet.Open(CRecordset::snapshot,NULL,CRecordset::none);//輸出匹配上條件用戶記錄,直到記錄為空if(m_MemberReSet.IsOpen()&&!m_MemberReSet.IsEOF()){//開頭顯示記錄的內(nèi)容m_MemberDialog.m_MemID=m_MemberReSet.m_MemID;m_MemberDialog.m_MemName=m_MemberReSet.m_MemName;m_MemberDialog.m_MemSex=m_MemberReSet.m_MemSex;m_MemberDialog.m_MemBorn=m_MemberReSet.m_MemBorn;m_MemberDialog.m_MemPolity=m_MemberReSet.m_MemPolity;m_MemberDialog.m_MemNative=m_MemberReSet.m_MemNative;m_MemberDialog.m_MemPlace=m_MemberReSet.m_MemPlace;m_MemberDialog.m_MemIns=m_MemberReSet.m_MemIns;m_MemberDialog.m_MemSpe=m_MemberReSet.m_MemSpe;m_MemberDialog.m_MemSchool=m_MemberReSet.m_MemSchool;m_MemberDialog.m_MemBed=m_MemberReSet.m_MemBed;m_MemberDialog.m_MemEmail=m_MemberReSet.m_MemEmail;m_MemberDialog.m_MemYear=m_MemberReSet.m_MemYear;m_MemberDialog.m_MemCard=m_MemberReSet.m_MemCard;m_MemberDialog.m_MemPhone=m_MemberReSet.m_MemPhone;m_MemberDialog.m_MemHadd=m_MemberReSet.m_MemHadd;m_MemberDialog.m_MemHphone=m_MemberReSet.m_MemHphone;m_MemberDialog.m_Remark=m_MemberReSet.m_Remark;}if(m_MemberDialog.DoModal()==IDCANCEL){//假如用戶選擇取消按鈕,則退出return;}UpdateData(FALSE);}voidCMemberView::DelCurUser(){//建立一個(gè)指針,用以操作ListCtrl輸出用戶記錄CListCtrl*ctl;ctl=&GetListCtrl();//查找當(dāng)前選中的記錄的位置POSITIONpos=ctl->GetFirstSelectedItemPosition();if(pos==NULL){//假如沒有選擇記則提示并退出AfxMessageBox("請(qǐng)先選中一條記錄return; }//獵取當(dāng)前記錄的位置游標(biāo)intm_CurUser=ctl->GetNextSelectedItem(pos);//創(chuàng)建一個(gè)臨時(shí)字符串來保存當(dāng)前用戶信息charchrTemp[21]={'\0'};//取得用戶IDctl->GetItemText(m_CurUser,0,chrTemp,sizeof(char[20]));//CMemberReSet的實(shí)例CMemberReSetm_MemberReSet;if(MessageBox("刪除該同學(xué)同時(shí)會(huì)刪除該生全部成果記錄,確定刪除記錄?","刪除確認(rèn)",MB_YESNO|MB_ICONQUESTION)==IDYES){try{//刪除個(gè)人信息if(m_MemberReSet.IsOpen())m_MemberReSet.Close();m_MemberReSet.m_strFilter.Format("MemIDLIKE'%s'orderbyMemID",chrTemp);m_MemberReSet.Open(CRecordset::snapshot,NULL,CRecordset::none);//假如用戶記錄存在,則進(jìn)行修改操作if(m_MemberReSet.IsOpen()&&!m_MemberReSet.IsEOF()){//設(shè)置編輯當(dāng)前記錄m_MemberReSet.Delete();//更新完畢,關(guān)閉數(shù)據(jù)庫m_MemberReSet.Close();}else//考慮特例,假如操作中用戶信息不存在了{(lán)//關(guān)閉數(shù)據(jù)庫if(m_MemberReSet.IsOpen())m_MemberReSet.Close();//提示用戶AfxMessageBox("該記錄不存在,無法刪除!");return;}//刪除對(duì)應(yīng)的全部個(gè)人成果CScoreReSetif(m_ScoreReSet.IsOpen())m_ScoreReSet.Close();CStringsql;sql.Format("select*fromscorewhereMemID='%s'",chrTemp);m_ScoreReSet.Open(CRecordset::snapshot,sql,CRecordset::none);//假如用戶記錄存在,則進(jìn)行修改操作while(!m_ScoreReSet.IsEOF()){//設(shè)置編輯當(dāng)前記錄m_ScoreReSet.Delete();m_ScoreReSet.MoveNext();}//更新完畢,關(guān)閉數(shù)據(jù)庫m_ScoreReSet.Close();}catch(CDBException*e){e->ReportErrorreturn;}//ListCtrlctl->DeleteItem(m_CurUser);}}voidCMemberView::OnPaint(){RemoveAll();//CListCtrlCListCtrl*ctl;ctl=&GetListCtrl();//指向CListView的CListCtrl//記錄用戶序號(hào)inti=0;CStringstrTemp;CMemberReSetm_MemberReSet;try{//關(guān)閉記錄集if(m_MemberReSet.IsOpen())m_MemberReSet.Close();m_MemberReSet.Open(CRecordset::snapshot,NULL,CRecordset::none);//假如用戶記錄存在,則進(jìn)行修改操作while(!m_MemberReSet.IsEOF())//意外捕獲catch(CDBException*e){e->ReportErrorreturn; }}CStringCMemberView::FindPosition(){//建立一個(gè)指針,用以操作ListCtrl輸出用戶記錄CListCtrl*ctl;ctl=&GetListCtrl();CStringchrTemp;//查找當(dāng)前選中的記錄的位置introw=ctl->GetSelectionMark();chrTemp=ctl->GetItemText(row,0);if(chrTemp==""){//假如沒有選擇記錄,則提示并

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論