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頁,還剩15頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、學(xué)生信息管理系統(tǒng)1.課程設(shè)計(jì)的目的隨著信息技術(shù)在管理上越來越深入而廣泛的應(yīng)用,管理信息系統(tǒng)的實(shí)施在技術(shù)上己 逐步成熟。管理信息系統(tǒng)是一個不斷發(fā)展的新型學(xué)科,任何一個單位要生存要發(fā)展,要 高效率地把內(nèi)部活動有機(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ì)是一門實(shí)用性很強(qiáng)的學(xué)科,是進(jìn)行軟件開發(fā)的主要工具,只有 進(jìn)行實(shí)際操作,才能將理論知識和實(shí)際應(yīng)用有機(jī)的結(jié)合起來,鍛煉學(xué)生分析解決實(shí)際問 題的能力,提高學(xué)生實(shí)際運(yùn)用的能力,為學(xué)生畢業(yè)設(shè)計(jì),日后工作中的軟件開發(fā)打下良 好的基礎(chǔ)。2.需求分析用計(jì)算

2、機(jī)技術(shù)實(shí)現(xiàn)的科學(xué)化管理,是在信息技術(shù)迅速發(fā)展的今天學(xué)校提高管理效率 的必需選擇。學(xué)生信息管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),其開發(fā)主要包括后臺數(shù) 據(jù)庫的建立和維護(hù)以及前端應(yīng)用程序的開發(fā)兩個方面。對于前者要求建立起數(shù)據(jù)一致性 和完整性強(qiáng)、數(shù)據(jù)安全性好的庫。而對于后者則要求應(yīng)用程序功能完備、易使用等特點(diǎn)。學(xué)生信息管理系統(tǒng)用來將某一個院系按專業(yè)、班級來管理學(xué)生的基本信息、課程信 息和學(xué)生成績。下面就其系統(tǒng)功能作簡單的說明。該系統(tǒng)主要是方便查詢學(xué)生的信息, 用該系統(tǒng)可以查到學(xué)生的姓名,年齡,學(xué)號,性別,學(xué)院,班級等??梢越y(tǒng)計(jì)學(xué)生在某 一學(xué)期的總學(xué)分或者單科成績、總成績。系統(tǒng)主要功能包括:信息操作功

3、能、查詢功能、統(tǒng)計(jì)功能、分析功能。2. 1信息操作功能(1)學(xué)生基本信息的添加、修改和刪除。學(xué)生基本信息包括:學(xué)號(學(xué)號的前6 位為班級號)、姓名、性別、出生日期和所在專業(yè)。(2)學(xué)生成績信息的添加、修改和刪除。學(xué)生成績信息包括:學(xué)號、課程號、成 績和和學(xué)分。2. 2査詢功能可以通過學(xué)號來查詢學(xué)生基本信息,通過學(xué)號可以查詢學(xué)生的選課信息,通過學(xué)號 和學(xué)期查詢學(xué)生的成績,通過課程號查詢該課程的信息。Microsoft access 數(shù)據(jù)庫2. 3統(tǒng)計(jì)功能統(tǒng)計(jì)學(xué)生某個學(xué)期或所有學(xué)期課程的總學(xué)分,統(tǒng)計(jì)學(xué)生某個學(xué)期的或所有學(xué)期的單 科成績或者總成績。2. 4運(yùn)行環(huán)境(1)硬件環(huán)境處理器:Inter C

4、entrino Duo。 內(nèi)存:521MBo硬盤空間:80Go(2)軟件環(huán)境操作系統(tǒng):WindowsXPMicrosoft visual c+3.總體設(shè)計(jì)3.1系統(tǒng)的結(jié)構(gòu)圖系統(tǒng)包括6大模塊,添加信息,成績導(dǎo)入,信息查詢,成績查詢,個人信息,查看學(xué)生信息管理系統(tǒng)是對學(xué)生的基本信息和成績信息進(jìn)行管理,主要包括添加、修改成績。和刪除學(xué)生的基本信息及課程的基本信息;錄入、修改和刪除學(xué)生的成績信息,對基本 信息、成績信息進(jìn)行查詢、排序及統(tǒng)計(jì)等操作,從而實(shí)現(xiàn)學(xué)生信息管理的自動化與計(jì)算 機(jī)化。本課題將實(shí)現(xiàn)一個簡化的學(xué)生信息管理系統(tǒng)。(1)添加信息:使用這個模塊,可以添加學(xué)生的基本信息,包括學(xué)生的學(xué)號,姓 名

5、,民族,性別,籍貫,出生年月日,政治面貌,學(xué)院,專業(yè),所在年級,寢室地址, 畢業(yè)院校,身份證號,電子郵箱,聯(lián)系電話,家庭住址,備注等。(2)成績導(dǎo)入:包括學(xué)號,課程編號,課程名稱,學(xué)分,成績。(3)信息查詢:包括學(xué)號,姓名,班級,學(xué)院。(4)成績查詢:包括課程名稱,課程編號。(5)個人信息:當(dāng)點(diǎn)擊這個按鈕時,可以顯示當(dāng)前某個人的信息。(6)查看成績:點(diǎn)擊這個按鈕時,可以顯示當(dāng)前這個人的所有成績。3. 2設(shè)計(jì)數(shù)據(jù)庫用Microsoft Access創(chuàng)建一個數(shù)據(jù)庫main, mdb,含有3個主要數(shù)據(jù)表:學(xué)生基本 信息表student、課程信息表couese和學(xué)生成績表score。這3個數(shù)據(jù)表的結(jié)構(gòu)

6、如表1、3 所示。這幾個表中,學(xué)號studentno和課程號courseno內(nèi)容都是唯一的,分別是student 和course表中的主關(guān)鍵字。Score表中的studentno和student表中的同名字段相對應(yīng), 字段course和course表中的courseno字段相對應(yīng)。說明:由于student和course表 中都有專業(yè)字段,因此為便于用戶操作,需要一個專業(yè)數(shù)據(jù)字典。該數(shù)據(jù)字典也作為數(shù) 據(jù)庫main, mdb的一個數(shù)據(jù)表speicaL其結(jié)構(gòu)如表4所示。表1學(xué)生基本信息表(student)結(jié)構(gòu)序號字段名稱數(shù)據(jù)類型字段大小小數(shù)位字段含義1studentname1、20姓名2studen

7、tno文本10學(xué)號3xb是/否50性別4buthdav口期/時間出生年月5speical文本專業(yè)表2課程信息表(course)結(jié)構(gòu)序號字段名稱數(shù)據(jù)類型字段大小小數(shù)位字段含義1courseno7課程號2special文本50所屬專業(yè)3coursenaine文本50課程名4coursetype文本10課程類型5openterm數(shù)字字節(jié)開學(xué)學(xué)期6hours數(shù)字字節(jié)課時數(shù)7credit數(shù)字單精度1學(xué)分表3學(xué)生課程成績表(score)結(jié)構(gòu)序號字段名稱數(shù)據(jù)類型字段大小小數(shù)位字段含義1studentno8學(xué)號2course文本7課程號3score數(shù)字單精度1成績4credit數(shù)字單精度1學(xué)分4.詳細(xì)設(shè)計(jì)該系

8、統(tǒng)包含多個模塊,期中重要的有6大模塊,添加信息,成績導(dǎo)入,信息查詢,成績查詢,個人信息,查看成績。該系統(tǒng)的主界面如圖2所示。*3:。熾 : 力8狙*3_ OOOOXDX OODOKKKB OOOOBB* OQOtnwi? OOOOW) )113%3=&1231353344545I矽謎妙*7*110 公剛S) 公宣8張力 公虜3畑丁 公粧切0丈件()蹄 fih側(cè)導(dǎo)入情息去詢成蛙査詢個人佶査石軸工號姓名性別1學(xué)仮1卞業(yè)斯在年飯1取系號碼空空地址0CO3COCO5 Rfi 3 0CO3COCC6 戲思 女 0CO3COCOM 壬九 3 0CO3COCC2 01 =5 0CO3COCOJ 冬三 3洼工

9、學(xué)院 機(jī)械字底 機(jī),掀學(xué)院 代月字底 電學(xué)院機(jī)根設(shè)計(jì) ttWvS 計(jì) 電子科技 電&xoq級2CO4 級 xoq級2CO4 級 xoq級)35555 lXe83E6123 J35E83E6883 1XE8344515 )35E83E888InsertColunm(0,H 學(xué) 號冷 LVCFMT_LEFT J 00); ctl-IiisenColunm( 1姓名冷 LVCFMT_LEFT J 00); ctl-IiisenColunm(2/性別冷LVCFMT_LEFI;80); ctl-IiisenColunm(4/學(xué)院 LVCFNITLEFTJ 00); ctl-IiisenColunm(5/

10、專業(yè)冷LVCFMT_LEFTJ00); ctl-InsertColuniii(6/所 在年級役 LVCFMT_LEFT J 00); ctl-InsertColuniii(7/聯(lián)系號碼 ”,LVCFMT_LEFT J 00);ctl-InsertCohmin(8寢室地址役 LVCFMT_LEFT,200);OiiPamtQ;CListView: :OiiniitialUpdateQ;獲取CMaiiiFrame的指針CMaiiiFrame *m_Frm=(CMaHiFrame*):AfxGetMainWnd();將CMaiiiFrame的m_ListViet指針變量指向CMembeiView的實(shí)

11、列 m Frm-m ListView=this;/ TODO: You may populate voui ListView with items by directly accessing / its list contiol tluough a call to GetListCtrlQ/ CMemberView printingBOOL CMembeiView: OnPreparePi mtmg(CPrintnifb * plnfb)/ default piepaiationreturn DoPreparePrintmg(pIiifb);void CMembeiView:OiiBegniP

12、riiiting(CDC* /*pDC*/, CPriiitliifb* /*phifo*/)/ TODO: add extra niitialization before piiiitmgvoid CMembeiView:OiiEndPnntmg(CDC* /*pDC*/, CPimtlnfo* /*plnfo*/)/ TODO: add cleanup after piiiitiiig/ CMemberView diagnostics#ifdef .DEBUGvoid CMembeiView: AssertValidQ constCListView: Assert ValidQ;void

13、CMembeiView: :Dump(CDiimpContext& de) constCListView:Dump(dc);CMemberDoc* CMemberView:GetDocument() / non-debug version is mline ASSERT(m_pDocument-IsKHidOf(RUNTIME_CLASS(CMembeiDoc); return (CMembeiDoc *)m_pDocument;#endif/.DEBUG/ CMemberView message handlersvoid CMembeiView: RemoveAll()增加指針變量指向Lis

14、tView的CListCtrlCListCtil *ctl;ctl=&GetListCtrlQ;刪除CListCtrl中的所有記錄 ctl-DeleteAllItenisQ;/strSearch查詢條件 strMember關(guān)鍵字void CMemberView:ListMember(CStimg strSeaichCStimg strMember)前此輸出的用戶記錄RemoveAll();建立一個指針,用以操作ListCtrl輸出用戶記錄CListCtrl *ctl;ctl=&GetListCtrlQ;創(chuàng)建CMemberReSet的實(shí)例CMemberReSet m_MemberRe Se t;

15、記錄用戶序號int 1=0;定義一個變量來保存”以便設(shè)置SQL語句cha chrT亡 mp=%:C String strTemp;tryif(m_MemberReSet.IsOpeii()m_MemberReSet.Close();設(shè)置查詢條件MemN ame=strMemberN aineMif(strMembe 尸=”)AfxMessageBox(M請輸入關(guān)鍵字”);return;if(strSearch=n 學(xué)號”)CString str;str.Foniiat(Mselect * fiom member where MenilD = order by MenilD ASCstiMemb

16、er); m_MemberReSet.Open(CRecordset: snapshot,str,CRecordset:none);else if(stiSearch=n姓名 Jm_MemberReSet.m_strFilter.Fonnat(MMeniNaine LIKE %c%s%c order by MenilDASCM,cluTemp,strMember.operator LPCTSTRQxluTemp);m_MemberReSet.Open(CRecordset: snapshot,NULL,CRecordset:none);else if(strSearch=學(xué)院 Jm_Membe

17、rReSet.m_strFilter.Foniiat(MMeniIns = order by MenilDASCM,stiMembeLopeiatoi LPCTSTRQ);m_MemberReSet.Open(CRecoidset: snapshot,NULL,CRecordset:none);else if(stiSearch=H專業(yè) Jm_MemberReSet.m_stiFilter.Fonnat(MMeniSpe LIKE %c%s%c order by MenilD ASCM,cluTemp,strMembeLoperator LPCTSTR()xhiTemp);m_MemberRe

18、Set.Open(CRecoidset: snapshot,NULL,CRecoidset:none);else if(sUSearch=n年級 Jm_MemberReSet.ni_strFilter.Foniiat(MMemYeai LIKE ,%c%s%c, order by MenilD ASCM,cluTemp,strMembeLoperator LPCTSTR()xhiTemp);m_MemberReSet.Open(CRecoidset: snapshot,NULL,CRecoidset:none);else if(stiSearch=n年級 treeH) m_MemberReSe

19、t.ni_strFilter.Foniiat(MMemYeai = %s order by MemID ASCM,stiMembeLopeiatoi LPCTSTRQ);m_MemberReSet.Open(CRecoidset: snapshot,NULL.CRecordset:none); elseAfxMessageBox(M條件選擇錯誤”); return;輸出匹配上查詢到的用戶記錄,直到記錄為空 while(!m_MemberReSet.IsEOF()ctl-IiisertItem(ijn_MemberReSet.m_MemID); ctl-SetItemText(i, 1 ,m_M

20、emberReSet.m_MeinName); ctl-SetItemText(i,2,m_MemberReSet.m_MemSex); ctl-SetItemText(i34n_MemberReSet.m_MeinIiis); ctl-SetItemText(i,4,m_MemberReSet.m_MemSpe); ctl-SetItemText(i,5,m_MemberReSet.m_MemYear); ctl-SetItemText(i,6,m_MemberReSet.m_MeniPhone); ctl-SetItemText(i,7,m_MemberReSet.m_MeniBed);

21、m_MemberReSet.MoveNext();if(m_MemberReSet.IsOpen() m_MemberReSet.Close();catch(CDBException *e)e-Delete(); return; void CMemberView: EditCurUserQ建立一個指針,用以操作ListCtil輸出用戶記錄CListCtii *ctl;ctl=&GetListCtrlQ;/尋找當(dāng)前選中的記錄的位置POSITION pos=ctl-GetFirstSelectedIteniPositionQ;if (pos=NULL)如果沒有選擇記錄,則提示并退出 AfxMess

22、ageBox(請先選擇一條信息!); return;獲取當(dāng)前記錄的位置游標(biāo)int m_CurUsei-ctl-GetNextSelectedItem(pos);/創(chuàng)建一個M亡mbcEditDlg的實(shí)例 CMemberEditDlg m_MemberEditDlg;CMemberReSet m_MembeiRe Se t;創(chuàng)建一個臨時字符串來保存當(dāng)前用戶信息char chiTemp201 = GetItemText(m_CurUsei0,cliiTenip,sizeof(char20);if(m_MemberReSet.EOpen()m_MemberReSet.Close(); m_Membei

23、ReSet.m_stiFilter.Format(,MeniID LIKE ,%sHcluTemp); m_MembeiReSet.Open(CRecordset:snapshot.NULL.CRecordset:none); 輸出匹配上條件用戶記錄,直到記錄為空if(m_MemberReSet.IsOpenQ & !ni_MembcR亡S亡tIsEOF() 開始顯示記錄的內(nèi)容 nvMembeiEditDlg.nvMenilDivMembeiReSet.nvMenilD; m_MembeiEditDlg.m_MeniName=m_MemberReSet.m_MeniName; m_Member

24、EditDlg.m_MemSex=m_MemberReSet.m_MemSex; m_MembeiEditDlg.m_MeniBorn=m_MemberReSet.nvMeniBorn; m_MembeiEditDlg.m_MeniPolity=m_MemberReSet.m_MemPolity; m_MembeiEditDlg.m_MeniNative=m_MemberReSet.m_MeniNative; m_-MembeiEditDlg.m_MeniPlace=m_MembeiReSet.m_MeniPlace; nvMembeiEditDlg.m_MeniIiis=m_MembeiRe

25、Set.m_MeniIiis; nvMembeiEditDlg.m_MemSpe=m_MembeiReSet.m_MemSpe; nvMembeiEditDlg.m_MemSchool=m_MemberReSet.m_MemSchool; nvMembeiEditDlg.m_MeniBed=m_MemberReSet.m_MemBed; nvMembeiEditDlg.m_MeniEmail=m_MemberReSet.m_MeniEmail; nvMembeiEditDlg.m_MemYeai-m_MembeiReSet.m_MemYeai-; nvMembeiEditDlg.m_MemCa

26、rd=m_MembeiReSet.m_MemCard; nvMembeiEditDlg.m_MeniPhone=m_MemberReSet.m_MemPhone; nvMembeiEditDlg.nvMeniHaddivMembeiReSet.nvMeniHadd;nvMembeiEditDlg.m_MeniHphone=m_MembeiReSet.nvMeniHphone;nvMembeiEditDlg.m_Remark=m_MemberReSet.m_Remark;if(m_MemberEditDlg.DoModalQ!=IDOK)如果用戶選擇取消按鈕,則退出retuni;UpdateDa

27、ta(FALSE);lMessageBoxC1 確定修改記錄? 丁修改確認(rèn),MB_YESNO|NIB_ICONQUESTION)=IDYES) tiyif(m_MemberReSet.IsOpen()m_MemberReSet.Close();設(shè)置查詢條tnMeinID=cluTempHm_MemberReSet.m_strFilter.Fonnat(MMeniID=,%sMr,clirTemp); m_MemberReSet.Open(CRecoidset: snapshot,NULL,CRecordset:none); 如果用戶記錄存在,則進(jìn)行修改操作if(m_MemberReSet.Is

28、Open()&!m_MembeiR亡 S亡 tIsEOF()設(shè)置編輯當(dāng)前記錄m_MemberReSet.Edit();開始編輯該條記錄的內(nèi)容m_MemberReSet.m_MemID=m_MembeiEditDlg.m_MeniID; m_MemberReSet.m_MeinName=m_MemberEditDlg.m_MeinName; m_MemberReSet.m_MemSex=m_MembeiEditDlg.m_MemSex; m_MemberReSet.m_MeniBoin=m_MemberEditDlg.m_MeniBoin; if(m_MemberReSet.CanUpdate(

29、)m_MemberReSet.Update();更新完畢,關(guān)閉數(shù)據(jù)庫m_MemberReSet.CloseQ; else關(guān)閉數(shù)據(jù)庫if(m_MemberReSet.IsOpen()m_MemberReSet.CloseQ;提示用戶AfeNIessageBox(H該記錄不存在,無法修改! ”);return;catch(CDBException*e)e-ReportErior Q; return;將用戶信息及時更新到ListCtrl中 ctl-SetItemText(m_CuiUseiO,m_MembeiEditDlg.m_MemID); ctl-SetItemText(m_CurUsei 1

30、jn_MembeiEditDlg.m_MeniName); ctl-SetItemText(m_CurUsef,2jn_MembeiEditDlg.m_MemSex); ctl-SetItemText(m_CuiUser3,m_MembeiEditDlg.m_Meninis); ctl-SetItemText(m_CuiUsei4ju_MembeiEditDlg.m_MemSpe); ctl-SetItemText(m_CurUsef,5jn_MembeiEditDlg.m_MemYear); ctl-SetItemText(m_CuiUser,6,m_MembeiEditDlg.m_Meni

31、Phone); ctl-SetItemText(m_CurUsei7jii_MembeiEditDlg.m_MeniBed);void CMembeiView: :OiiDblclk(NMHDR* pNMHDR. LRESULT* pResult)/ TODO: Add your control notification handler code here*pResult = 0;EditCuiUserQ;void CMemberView: LookNIembei()倉ij建一個M亡mbcDialog的實(shí)例 CMemberDialog m_MembeiDialog; CMemberReSet

32、m_MemberRe Se t;CStrmg cluTemp=FindPosition(); if(cluTemp=,n)return;if(m_MembeiReSet.IsOpenQ)m_MembeiReSet.Close(); m_MembeiReSet.m-stiFilter.Format(,MeniID LIKE ,%sMcluTemp); m_MemberReSe 匚 O pen(CRecordset: snapshot,NULL.CRecordset: :none); 輸出匹配上條件用戶記錄,直到記錄為空 if(m_MembeiReSet.IsOpenQ & !m_MembeiR亡

33、SEISEOF0)/開始顯示記錄的內(nèi)容 nvMembeiDialog.m_MemID=m_MembeiRe S et.m_MeniID; m_MembeiDialog.m_MeinName=m_MembeiReSet.m_MeniName; m_MemberDialog.m_MemSex=m_MembeiReSet.nvMemSex; nvMembeiDialog.m_MeniBorn=nvMemberReSet.m_MemBorn; m_MembeiDialog.m_MeniPolity=m_MembeiReSet.m_MeniPolity; m_-MembeiDialog.m_MemNat

34、ive=m_MemberReSet.m_MeniNative; nvMembeiDialog.m_MeniPlace=m_MemberReSet.m_MeniPlace; nvMembeiDialog.m_MemIns=m_MembeiReSet.m_MeniIiis; nvMemberDialog.m_MemSpe=nvMemberReSet.m_MemSpe; nvMemberDialog.m_MemSchool=m_MembeiReSet.m_MemSchool; nvMembeiDialog.m_MeniBed=m_MemberReSet.m_MemBed; nvMembeiDialo

35、g.m_MeinEmail=m_MembeiReSet.m_MeniEmail; nvMembeiDialog.m_MemYear=m_MembeiReSet.m_MemYeai-; nvMembeiDialog.m_MemCaid=nvMemberReSet.m_MemCard; nvMemberDialog.m_MeniPhone=m_MembeiReSet.nvMeniPhone; nvMembeiDialog.m_MeniHadd=m_MemberReSet.m_MeniHadd; nvMembeiDialog.m_MeniHphone=m_MemberReSet.m_MeniHpho

36、ne; nvMembeiDialog.m_Remark=m_MemberReSet.m_Remaik;if(m_MembeiDialog.DoModal()=IDCANCEL)如果用戶選擇取消按鈕,則退出retuni;UpdateData(FALSE);void CMemberView: DelCurUser()/建立一個指針,用以操作ListCtrl輸出用戶記錄CListCtil *ctl;ctl=&GetListCtrlQ;尋找當(dāng)前選中的記錄的位置POSITION pos=ctl-GetFirstSelectedItemPositionQ;if(pos=NULL)如果沒有選擇記錄,則提示并

37、退出AfxMessageBox(H請先選中一條記錄! ”);return; 獲取當(dāng)前記錄的位置游標(biāo)int m_CuiUsei-ctl-GetNextSelectedItem(pos);創(chuàng)建一個臨時字符串來保存當(dāng)前用戶信息charchiTemp21 = 9;取得用戶EDctl-GetItemText(m_CurUsei0,cluTenip,sizeof(char20);創(chuàng)建CMemberReSet的實(shí)例CMemberReSet m_MemberRe Se t;if(MessageBoxC刪除該學(xué)生同時會刪除該生所有成績記錄,確定刪除記錄? ”,”刪除確認(rèn) MB_YESNO|MBJCONQUEST

38、ION)=IDYES)Uy 刪除個人信息if(m_MemberReSet.IsOpen()m_MemberReSet.Close();m_MembeiReSet.m_stiFilter.Foniiat(MMeniID LIKE %s order by MemlD1,cluTemp); m_MembeiReSet.Open(CRecordset: snapshot,NULL,CRecordset:none);如果用戶記錄存在,則進(jìn)行修改操作if(m_MemberReSet.IsOpen() & !m_M亡mbeiR亡S亡tIsEOF0)設(shè)置編輯當(dāng)前記錄 m_MemberReSet.DeleteQ

39、;更新完畢,關(guān)閉數(shù)據(jù)庫 m_MemberReSet.Close();else 考慮特例,如果操作中用戶信息不存在了關(guān)閉數(shù)據(jù)庫 if(m_MemberReSet.IsOpen() m_MemberReSet.CloseQ;提示用戶 AfxMessageBox(該記錄不存在,無法刪除! ”); return;刪除對應(yīng)的所有個人成績CScoreReSet m_ScoreReSet;if(m_ScoreReSet.IsOpenQ) m_ScoreReSet.Close();CString sql;sql.Forniat(Mselect * fiom score where MeniID=,%sH,cl

40、irTemp); nvScoreReSet.Open(CRecordset: snapshot,sqLCRecordset:none); 如果用戶記錄存在,則進(jìn)行修改操作 while(!m_ScoreReSet.IsEOFQ)設(shè)置編輯當(dāng)前記錄 m_ScoreReSet.Delete(); m_ScoreReSet.MoveNext();更新完畢,關(guān)閉數(shù)據(jù)庫m_ScoreReSet.Close();catch(CDBException*e)e-RepoitEnor Q; return;在ListCtrl中刪除當(dāng)前用戶信息 ctl-DeleteItem(m_CiuUsei);void CMembe

41、rViexv: :OiiPaiiitQRemoveAllQ;創(chuàng)建一個CListCtrl指針CListCtil *ctl;ctl=&GetListCtrlQ; 指向 CListView 的 CListCtil記錄用戶序號int i = 0;CStimg strTemp;CMemberReSet m_MembeiRe Se t;try 關(guān)閉記錄集if(m_MemberReSet.IsOpen() m_MemberReSet.Close(); m_MembeiReSet.Open(CRecoidset:snapshot,NULL,CRecoidset:none);如果用戶記錄存在,則進(jìn)行修改操作 w

42、hile(!m_MembeiReSet.IsEOF()意外捕獲catch(CDBException*e)e-RepoitError Q;return; CStimg CMemberView:FmdPosition()/建立一個指針,用以操作ListCtrl輸出用戶記錄CListCtil *ctl;ctl=&GetListCtrlQ;CStimg cluTemp;尋找當(dāng)前選中的記錄的位置int row=ctl-GetSelectionMark(); ciuTemp=ctl-GetItemText(iow,0);if(chiTemp=HM)如果沒有選擇記錄,則提示并退出AfxMessageBox(請先選中一條記錄的學(xué)號! ”);/ return cluTemp;return cluTemp;void CMemberView:MemberAdd()CMemberAdd m_MemberEditDlg;if(m_MembeiEditDlg.DoModalQ!=IDOK)return;CMemberReSet m_MembeiRe Se t;tryif(m_MemberReSet.IsOpen() m_MemberReSet.Close();m_MembeiReSet.m_stiFilter.Fomiat(MMeniID like s order by MemIDASC,m_Membe

溫馨提示

  • 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

提交評論