MFC网络程序设计

上传人:m**** 文档编号:470350529 上传时间:2023-01-02 格式:DOC 页数:10 大小:342KB
返回 下载 相关 举报
MFC网络程序设计_第1页
第1页 / 共10页
MFC网络程序设计_第2页
第2页 / 共10页
MFC网络程序设计_第3页
第3页 / 共10页
MFC网络程序设计_第4页
第4页 / 共10页
MFC网络程序设计_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《MFC网络程序设计》由会员分享,可在线阅读,更多相关《MFC网络程序设计(10页珍藏版)》请在金锄头文库上搜索。

1、JINGCHU UNIVERSITY OF TECHNOLOGYMFC网络程序设计(课程设计成果论文)学生信息管理系统学 院 计算机工程学院 专 业 计算机应用技术 年级班别 2011级计算机应用(一)班 学 号 2011304030103 学生姓名 路旭达 指导教师 游明坤 分 数 2013年12月17日1.需求分析学生信息管理系统按功能分为三个模块:管理员登录模块:要通过管理员身份验证后才能对成员的信息进行修改。维护模块:实现增加成员,修改成员,删除成员三个基本功能。查询模块:有按学号查询和按姓名查询功能。学生信息管理系统的成员信息都存放于数据库中,所以必须在程序中实现对数据库的操作。本程

2、序功能简单,其界面的设计也要力求简单明了,各种功能使用起来也要非常方便。2.数据库设计数据库采用Accesss2003,API采用ODBC的连接方式。ODBC(Open Database Connectivity),开放数据库互连,是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。数据库设计如下表:数据库名称:mystud

3、system,文件:mystudsystem.mdb内容如下:表窗口项数据类型tb_class_subject班级信息设置classnameCstringcodeCstringtb_classinfo班级信息管理classnameCstringteacherCstringtb_classsubject班级科目设置classnameCstringcodeCstringtb_examinfo_sub考试类别设置codeCstringexamdateCTimegradeintkindCstringstudentidCstringtb_examkinds考试类别设置kindCstringtb_stud

4、entinfo学生信息报表addrCstringagelongclassCstringphoneCstringsexCstringstudentidCstringstudentnameCstringtb_subject班级科目设置codeCstringsubjuectCstringtb_user用户登陆passwordCstringusernameCstring3.运行界面设计设计3.1登陆界面对话框设计3.2主窗口对话框设计3.3学生成绩查询对话框设计3.4学生成绩录入对话框设计3.5班级信息管理对话框设计3.6科目信息对话框设计3.7考试类别对话框设计4.关键代码4.1连接数据库CStri

5、ng CClassSsubjectSet:GetDefaultConnect()return _T(ODBC;DSN=mystudsystem);CString CClassSsubjectSet:GetDefaultSQL()return _T(dbo.tb_class_subject);void CClassSsubjectSet:DoFieldExchange(CFieldExchange* pFX)/AFX_FIELD_MAP(CClassSsubjectSet)pFX-SetFieldType(CFieldExchange:outputColumn);RFX_Text(pFX, _T

6、(code), m_code);RFX_Text(pFX, _T(classname), m_classname);/AFX_FIELD_MAP4.2按钮操作void CExamInfoSubmarkDlg:OnOK() / TODO: Add extra validation hereUpdateData(TRUE); /读入输入的资料if(m_studentid.IsEmpty()|m_examsubject.IsEmpty()|m_examkind.IsEmpty()AfxMessageBox(请输入相应的数据!);return;CString sqlStr_findid;sqlStr_

7、findid=select * from tb_studentinfo where tb_studentinfo.studentid=+m_studentid+ ;myfindset_id = new CCStudentInfoSet(&(CCMyStudentSystemApp*)AfxGetApp()-m_DB);if(!myfindset_id-Open(AFX_DB_USE_DEFAULT_TYPE,sqlStr_findid)AfxMessageBox(tb_studentinfo表打开失败!);if(myfindset_id-GetRecordCount()=0)AfxMessag

8、eBox(没有此学生,请确认学号后再输入!);if(myfindset_id-IsOpen()myfindset_id-Close();delete myfindset_id;return;if(myfindset_id-IsOpen()myfindset_id-Close();delete myfindset_id; CString sql;CString year,month,day;year = m_examdate.Format(%Y);month = m_examdate.Format(%m);day = m_examdate.Format(%d);sql.Format(select

9、 * from tb_examinfo_sub where tb_examinfo_sub.studentid= %s and code = %s and kind = %s and year(examdate) = %s and month(examdate) = %s and day(examdate) = %s,m_studentid,m_examsubject,m_examkind,year,month,day);myexamsubmarkset_findsame = new CExaminfoSubmarkSet(&(CCMyStudentSystemApp*)AfxGetApp()

10、-m_DB);if(!myexamsubmarkset_findsame-Open(AFX_DB_USE_DEFAULT_TYPE,sql)AfxMessageBox(tb_examinfo_sub表打开失败!);if(myexamsubmarkset_findsame-GetRecordCount()!=0)AfxMessageBox(已经有此记录,不能重复输入!);if(myexamsubmarkset_findsame-IsOpen()myexamsubmarkset_findsame-Close();return;if(myexamsubmarkset_findsame-IsOpen(

11、)myexamsubmarkset_findsame-Close();delete myexamsubmarkset_findsame;myexamsubmarkset-AddNew(); /调用添加记录的函数处理myexamsubmarkset-m_studentid = m_studentid; /对应变量更新myexamsubmarkset-m_kind = m_examkind;myexamsubmarkset-m_grade = m_submark;myexamsubmarkset-m_examdate = m_examdate;myexamsubmarkset-m_code = m

12、_examsubject;trymyexamsubmarkset-Update();myexamsubmarkset-Requery();AfxMessageBox(成功保存数据!);catch( CDBException* e ) AfxMessageBox( e-m_strError, MB_ICONEXCLAMATION ); e-Delete(); DisplayRecord(); /更新显示4.3初始化BOOL CExamInfoSubmarkDlg:OnInitDialog() CDialog:OnInitDialog();/ TODO: Add extra initializat

13、ion hereCString sqlStr;sqlStr = select * from tb_examinfo_sub; myexamsubmarkset = new CExaminfoSubmarkSet(&(CCMyStudentSystemApp*)AfxGetApp()-m_DB);if(!myexamsubmarkset-Open(AFX_DB_USE_DEFAULT_TYPE,sqlStr) /打开数据表AfxMessageBox(tb_examinfo_sub表打开失败!);m_examdate = CTime:GetCurrentTime();UpdateData(FALSE);return TRUE; / return TRUE unless you set the focus to a control / EXCEPTION: OCX Property Pages should retu

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号