




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、学生信息管理系统student.mdb(一i)用 microsoft office access 创建一个数据库(图1.1 )在表中添加字段和数据类型,如下图所示:dainfo学制 入学时间班级号 斫在唉系 专业名秘李法宝称时据芈引dtpart(图1.2)student:教据库(Access 2(XK文件格式)扇打开叱殳计5新建使用设计器创建表 使用向导创建基 通过输入敷据创建去(图1.3)classaodepartsptci alstudyytarentertime上h1201数拽学院22012/9/320120Z计耳机学院计算机专112如g/i.2012D3医学院麻醉学3Z01Z/9/13
2、012D4经管学院市场管理52012/9/1.201205数理学院找核弹32012/9/1:ZO12O6国防生数字化工程2Z01Z/9/12012OT设艺学除音乐系22012/9/1*0.创建ODBC数据源选择控制面板一管理工具一数据源( ODBC ) 一系统DSN标签一单击“添加”出现下图所示的界面。选择Drive do Microsoft Access (*.mdb),单击完成。(图1.7)输入数据源名,单击“选择、,选才i c/student.mdb单击“确定”,将会出现如图 所示。(图1.5)(图1.6)(图1.7)(二).MFC图形建立新建文件E程工把区其它文档rggN):STUDX
3、IMXI鸟置:STUDXINXI端 ATL COMAppWizard7?1 Cluster Resourte Type Wizardyi Custom AppWiward造 Databus Project啜 DevStudio Addin WizardExtended Slonrd Proc WizardISAPI Extension WizardMakefile信物J建新的工便空间B)相加到当前工作空间回r孰jk于回:滥 MFC ActiveX Controlwizard 窗 MFC AppWtzard dll)MFC AppWizard exeY| Utility ProjectBl Wi
4、n32 Application二jWin32 Console Jppiicatiui)国 Win32 Dynamic-Link LibraryWin32 Static Library平台(0:回 Win32喃定取特别注意:创建的应用程序类型是单文档(single document应用程序)(图2.2)将CSTUDXINXIVieW勺基类改为CScrollView然后单击“完成”(图2.3)为数据表创建CRecordSet用户类按 “Ctrl+W ” 进入“建立类向导(即 MFCClasWizard )” 单击 “Add Class.” 选择“New”如图(图2.4)所示.按照(图2.5) 一(
5、图2.6) 一(图2.7)的 安装顺序。即可完成创建 CRecordSet用户类的工作。Mcnibtf VmldblesAuluinulluiiAcdvtX EventsClass InduPrnjerttisllJ DXINXICMainFrameC:STAJnxiNXlMalnFrm.h, C:SJUDXlNXlMinFrm.cppMcssayES:CMainrramcID APr ABOUT三ID APP EXITI D-Eni r COPYin_EDi r _CUTfD_ED1T_PASTEID ED1T_UNDOVOLpecst IDs:Member lunctlono:Acliva
6、tcFramc CoIcWi ndo wRccI Create nefWinrtowProc DfifitrnyWin ri nw DuD3IExctiaiiye GctActivcIucu meritW OnCreateQN_WM_ C RE ATEV PrcCrc atcWidduwDescription确定取力(图2.4)OKC a n:c:e IAistuniiitiuvi Ah IriHTi zufiiiraCrralMble hy ly1七 ID: |S1 UDXINXI.CIansInfoSctTlie bx#七 clx住s do七o iml support(图2.5)(图2.6
7、)(图2.7)在 stdafx.h 文件中添加 CRecordSet 包含语句:#include如图(图2.8)所示0m 国工作区STUDXIHXI ,二1工程 - 霞喜TUDXIHXI files_ 二j Source Files-口 Header Files il ClasslnfoSet 国 NainFrn.h 国 Resource.h j1|Stdftfx-h| g) STUDKINXI.h .STUDXINXIDoc.h 图 STUDXlNXlUitu.hE _j Resource FilesUSTUDXINXI.ico圜 STUDXIHXI-rc2商 STUDXIHXIDoc.ic
8、o=1 JoQlbar .bnp_g ReadMe.txt/ LUdrx-ii ; xiiui-uue rxie rur Ldnudrun or project specific include files tf/ are changed inFrequentliy nif * defined(AFX STDAFXH BGRDSCFH FQ9W ffdefine fiFK_STDftFK_H_BCfi53G54_FD03Z4B9 1 BOO tipragna oncettendlf / MSC UER 1(100ttdefine UCEKTRftLEAMttlncludeInclude inc
9、lude ,/ Exclude 卜/ MFC core U MFC pxterttincludf /ttinclude /VifndeF _fiFK_MO_AFKCim_SUPPORTMFC AutorMFC suppt;include / MFC suppcHendiF _fiFX_NO_fiFXCt1N_SUPPORT strSpeciatControl IDs;TypeMemberDescription:CStrmg with length vahdatFonUpdate C(BindSTUDXINXICCIassInfoDIgC:STUOXINXIClas3lnfoDlg.k C:ST
10、UDXINXIiCl3sslnftjDlg.cppMaximum Characters:ft曲去(图 3.4)使用类向导为 CClassInfoDlg类添加 WM_INITDIALOG 消息映射。代码位于附录1。见(图3.5)使用类向导为 CClassInfoDlg类添加IDOK按钮的BN_CLICKED 消息映射。代码位于附录2。见(图3.6)DQOL CClaInFoDlg:QnnitDialog()ClYialoj: iOnlnitbialagO;initialization here力”有关于消息映射Hpgmata(FRLSEh return TRUE: / return TRUE u
11、nless quu set the Focus to a cc ff EXCEPT【UN= UCK Property Payes stiould return(图 3.5)(laid CClasInFoDLg: :0n0KC)/ T(IOO: Add extra ualidation hereUpdat?Data();ni_5trClasHa.TrimLeFtO;ntrepart-TriniLeFtC);R_strSpeGial.TrimLeftQ;iF( n_5tr Depart. IsEmptyO)N产日qeHox必须要看所院系);else if (in_5trSpecial- IsEnp
12、tyC )他55叫RBOX(,必须要郁妊线T:;elseLF(m_strClassNO .1 sEnptyO) 而ssageBoxL必须要有跳级号T”); B1SECOialoq:OnOK();(图 3.6)鉴于添加代码都是从类向导找到相应的代码区域,以后就不详细截图了(四)实现班级基本信息添加和显示功能为 CSTUDXINXIVieWfe添力口一个 LOGFONT成员变量 m_lfFont选才A Add MemberVariable出现(图4.1)所示 输入下面表格的变量类型和名称即可。连续三次。变量类型变量名称LOGFONTm_lfFontCStringm_strClassNOCStrin
13、gm_strSQL在 CSTUDXINXIView:CSTUDXINXIView()添力口代码。代码位于附录3.(图 4.1)添加一个成员函数如(图4.2)所示。添加成员函数Static Virtual|vQjd语数描述0:lass Info ICDCpDCXString strChsSjCString strSQLjiAccess Q PublicProtectedPrivate(图 4.2)添加代码,位于附录4.在 STUDXINXIView.cpp 文件的前面添加 CClassInfo 类的包含语句:#includeClassInfoSet.h打开菜单资源,添加如(图4.3)所示的菜单项
14、。文件的务事阳黄看M m(H)信息辘入i_1 f 班谡信息蛇入(图 4.3)用类向导为CSTUDXINXIView 类添加该菜单项的 COMMAND 消息映射,并添加代码。 代码位于附录5 在 CSTUDXINXIView : OnDraw 函数添加代码。代码位于附录6在 STUDXINXIView.cpp 文件的前面添加 ClassInfoDlg 类的包含语句#includeClassInfoDlg.h(五)查询班级信息添加一个新的对话资源框,名字改为ID_SEEKCLASS 标题定为“查询班级信息”。按照下面的表格添加控件。布局如(图 5.1所示)添加的控件ID号标题其他属性单选按钮(按所
15、在院系)IDC_RADIO1默认单选按钮(按专业)IDC_RADIO2默认编辑框IDC_EDIT1默认(图 5.1)建立新类,为IDC_EDIT1 添加一个 CString型变量 m_strSeek为CSeekClassDlg类添力口消息映射,代码位于附录7为 CSeekClassDlg 类添加 CString 型成员变量 m_strSQL用类向导为IDOK按钮添加消息映射。代码位于附录8打开菜单资源,添加菜单项如(图5.2)所示。用类向导添加消息映射。代码位于附录9在 STUDXINXIView.cpp 文件的前面添加包含语句:#includeSeekClassDlg.h襦院(H)信息场人
16、信息查词3(图5.2)运行,编译。附录:1m_strYear=4;/有关于消息映射UpdateData(FALSE);2UpdateData();m_strClassNO.TrimLeft();m_strDepart.TrimLeft();m_strSpecial.TrimLeft();if(m_strDepart.IsEmpty()MessageBox(必须要有所院系!); else if(m_strSpecial.IsEmpty()MessageBox(必须要有班级!);elseif(m_strClassNO.IsEmpty()MessageBox(必须要有班级号!); else3mems
17、et(&m_lfFont,0,sizeof(LOGFONT);m_lfFont.lfHeight=12;m_lfFont.lfCharSet=GB2312_CHARSET;strcpy(m_lfFont.lfFaceName,宋体); m_strClassNO=m_strSQL=;4CFont font;LOGFONT lf=m_lfFont;lf.lfWeight=700;strcpy(lf.lfFaceName,幼圆);font.CreateFontIndirect(&lf);TEXTMETRIC tm;pDC-GetTextMetrics(&tm);int nLineHeight=(in
18、t)(tm.tmHeight+tm.tmExternalLeading)*1.5);行高为1.5倍字符高度int x=0,y=0,nWidth;CFont*oldFont=pDC-SelectObject(&font);/ 使用新字体输出表头CString strHeader=班级号,所在院系,专业名称,学制,入学时间;int nStrWidth尸10,25,25,8,10;CClassInfoSet cSet;cSet.m_strFilter=strSQL;cSet.Open();for(UINT i=0;iTextOut(x,y,strHeaderi);x+=nWidth;pDC-Sele
19、ctObject(oldFont);显示具体内容CString str;while(!cSet.IsEOF()if(strClass=cSet.m_classno)/这是要强调显示的班级lf.lfWeight=0;strcpy(lf.lfFaceName,楷体 _GB2312);font.DeleteObject();font.CreateFontIndirect(&lf); pDC-SelectObject(&font);elsepDC-SelectObject(oldFont); 使用原来的字体x=0;y+=nLineHeight;for(UINT i=0;iTextOut(x,y,str
20、);x+=nWidth; cSet.MoveNext();cSet.Close();设置视图滚动大小CSize sizeTotal;sizeTotal.cx=x+nWidth; sizeTotal.cy=y+nLineHeight;SetScrollSizes(MM_TEXT,sizeTotal);5CClassInfoDlg dlg;if(dlg.DoModal()!=IDOK) return;向classinfo表添加新的记录,为了防止添加相同的记录,这里先来判断CClassInfoSet infoSet;ANDinfoSet.m_strFilter.Format(classno=%sde
21、part=%s,dlg.m_strClassNO,dlg.m_strDepart,dlg.m_strSpecial);infoSet.Open();if(!infoSet.IsEOF() MessageBox(dlg.m_strClassNO+”班级记录已被添加过! );/if(infoSet.IsOpen() infoSet.Close();return;if(infoSet.IsOpen()infoSet.Close();CClassInfoSet addSet; if(addSet.Open() 添加一个新的记录addSet.AddNew();addSet.m_classno=dlg.m_strClassNO;addSet.m_depart=dlg.m_strDepart;addSet.m_special=dlg.m_strSpecial;addSet.m_studyyear=(float)atof(dlg.m_strYear);addSet.m_entertime=dlg.m_tEnter;addSet.Update();addSet.R
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 预防近视安全班会
- 高效的复习时间管理与CFA试题及答案
- 中班科学蚂蚁课件
- 2024年特许金融分析师考试解压小技巧试题及答案
- 常见足病的护理
- 职场礼仪培训教程
- CFA复习的资源选择技巧试题及答案
- 八年级上册《分式方程的实际应用-销售及其他问题》课件与练习
- 化工冬季安全知识
- 房建库房工作总结
- 2025年医保政策法规考试题库及答案试卷(宣传解读)
- 基于社区的慢性病预防策略研究
- 2025家庭教育指导师试题库及答案
- 红酒-价格表格
- 2025年机电实务考试题型及答案
- 北京市西城区2024-2025学年高三上学期期末考试英语试题【含答案解析】
- 心肺复苏术课件2024新版
- 安全环保职业健康法律法规清单2024年
- 拉斐尔课件完整版
- 浅谈新课改理念下农村幼儿园教育活动创新模式-最新资料
- 柔性接口给水管道支墩计算程序(基于《10S505》)beta2
评论
0/150
提交评论