基于mfc与sql数据库的学生信息管理概要

上传人:今*** 文档编号:108115797 上传时间:2019-10-22 格式:DOC 页数:26 大小:992KB
返回 下载 相关 举报
基于mfc与sql数据库的学生信息管理概要_第1页
第1页 / 共26页
基于mfc与sql数据库的学生信息管理概要_第2页
第2页 / 共26页
基于mfc与sql数据库的学生信息管理概要_第3页
第3页 / 共26页
基于mfc与sql数据库的学生信息管理概要_第4页
第4页 / 共26页
基于mfc与sql数据库的学生信息管理概要_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《基于mfc与sql数据库的学生信息管理概要》由会员分享,可在线阅读,更多相关《基于mfc与sql数据库的学生信息管理概要(26页珍藏版)》请在金锄头文库上搜索。

1、北京邮电大学信息与通信工程学院程序设计实践设计报告课题名称:基于MFC与SQL数据库的学生信息管理学生姓名:班 级:班内序号:学 号:日 期:2015.06.131 课题概述 1.1课题目标和主要内容本课题中主要使用的工具MFC和SQL,在VS2012平台下进行开发。1、实验内容:l实现基本的学生管理系统的功能;l实现程序与SQL数据库同步,可以进行信息修改、添加用户等功能;l基于C+面向对象实现不同类之间的关联调用2、实验目标:l理解MFC应用程序的运行机制;l掌握使用MFC构建Windows应用程序的基本结构及编程的基本方法;l理解和掌握MFC应用程序消息处理机制及应用;l掌握MFC与数据

2、库相连的方法,建立一个简单的学生管理系统。 1.2系统的主要功能 功能框图: 学生信息管理系统学生成绩信息查询学生基本信息管理学生选课信息管理课程基本信息管理添加统计查看删除修改查询浏览功能描述:进入主界面后,选择单击想要进入的功能模块,进入学生基本信息管理、课程基本信息管理、学生选课信息管理模块后,可进行学生信息、课程信息和选课信息的浏览、查询、添加、修改和删除操作,进入学生成绩信息查询模块可以进行查看和统计课程总门数、总学分数和平均成绩。想要退出查询单击退出即可。2. 系统设计 2.1 系统总体框架 系统框架图应用层:用户权限控制层:MFC代码后台数据库管理:SQL 访问、控制 手动输入交

3、互层:文本编辑框、按钮 消息相应函数关联变量 DDX机制 赋值操作 RFX机制m_strSNo m_strSNamem_SNo m_SNameSNo SName学号姓名对话框窗口 对话框对象 记录集对象 IDC SNoIDC SName 控件 控件变量 域数据成员 表的字段 控件和数据源表的数据交换层次逻辑图开始 进入主界面是否选择要查询的模块 否 是成绩信息选课信息课程信息学生信息浏览、查询、添加、修改和删除操作(对于成绩查询只读)是否退出本模块退出程序 是 否结束设计思想:分为MFC程序部分,连接部分和数据库部分。根据功能直接操纵对话框添加控件,进而设计相应函数,调用相应类来实现功能,然后

4、通过调用ODBC库中的函数来建立与SQL数据库的连接。 2.2 系统详细设计CDialogEx类 1 类关系图及描述 派生类CCourseDlg类CStudentDlg类CSCChoiceDlg类CGradeDlg类CStudentInfoDlg类CStudentInfoDlg对应着主界面对话框的类;CCourseDlg对应课程信息的对话框的类;CGradeDlg对应着学生成绩查询的对话框的类;CSCChoiceDlg对应着选课信息的对话框的类;CStudentDlg对应着学生信息的对话框的类;CRecordset类 派生类CStudentSet类CCourseSet类CSCChoiceSet

5、类CGradeSet类CCourseSet对应课程信息记录集类;CGradeSet对应着学生成绩查询记录集类;CSCChoiceSet对应着选课信息记录集类;CStudentSet对应着学生信息记录集类; 4 存储结构、内存分配MFC中的数据存储在列表控件中,指针类型为LPCSTR;导出数据库时搜索出来的数据存储类型主要是CString,用来存储各种从数据库中获得的信息。没有内存泄漏 2.3 关键算法分析 算法1:DoFieldExchangevoid CGradeSet1:DoFieldExchange(CFieldExchange* pFX)pFX-SetFieldType(CFieldE

6、xchange:outputColumn);RFX_Text(pFX, _T(dbo.C.CNo), m_dboCCNo);RFX_Text(pFX, _T(dbo.C.CN), m_dboCCN);RFX_Int(pFX, _T(dbo.C.CRedit), m_dboCCRedit);RFX_Text(pFX, _T(dbo.S.SNo), m_dboSSNo);RFX_Text(pFX, _T(dbo.S.SN), m_dboSSN);RFX_Text(pFX, _T(dbo.S.Sex), m_dboSSex);RFX_Text(pFX, _T(dbo.S.Dept), m_dboSD

7、ept);RFX_Date(pFX, _T(dbo.S.Bdate), m_dboSBdate);RFX_Date(pFX, _T(dbo.S.Ddate), m_dboSDdate);RFX_Text(pFX, _T(dbo.SC.SNo), m_dboSCSNo);RFX_Text(pFX, _T(dbo.SC.CNo), m_dboSCCNo);RFX_Int(pFX, _T(dbo.SC.Score), m_dboSCScore); 1 算法功能完成数据源的数据表列与域数据成员之间的数据交换 2 时间复杂度O(1) 算法2:ClearEditDatavoid CStudentDlg:C

8、learEditData(void)m_strSNo=;m_strSName=;m_strSSex=;m_strSMajor=;m_strSBDate=;m_strSSDate=;UpdateData(FALSE);return; 1 算法功能清空对话框中显示学生信息的编辑框控件 2 算法基本思想把所有信息赋值为空格 3时间复杂度O(1)算法3:ReadRecordvoid CStudentDlg:ReadRecord(void)m_strSNo=m_rsStudentSet.m_SNo;m_strSName=m_rsStudentSet.m_SN;m_strSSex=m_rsStudentS

9、et.m_Sex;m_strSMajor=m_rsStudentSet.m_Dept;m_strSBDate=m_rsStudentSet.m_Bdate.Format(%Y-%m-%d);m_strSSDate=m_rsStudentSet.m_Ddate.Format(%Y-%m-%d);UpdateData(FALSE);return;1 算法功能域数据成员的值传递给对话框控件显示出来 3时间复杂度O(1) 算法4:WriteRecordvoid CStudentDlg:WriteRecord(void)UpdateData(TRUE);m_rsStudentSet.m_SNo=m_st

10、rSNo;m_rsStudentSet.m_SN=m_strSName;m_rsStudentSet.m_Sex=m_strSSex;m_rsStudentSet.m_Dept=m_strSMajor;int a,b,c;CString timestrB=m_strSBDate; sscanf_s(timestrB.GetBuffer(timestrB.GetLength(),%d-%d-%d,&a,&b,&c); CTime timeB(a,b,c,0,0,0);m_rsStudentSet.m_Bdate=timeB;CString timestrS=m_strSSDate; sscanf

11、_s(timestrS.GetBuffer(timestrS.GetLength(),%d-%d-%d,&a,&b,&c); CTime timeS(a,b,c,0,0,0);m_rsStudentSet.m_Ddate=timeS;1 算法功能将控件显示的信息传递给域数据成员 3时间复杂度O(1)算法5:SetMoveBNStatevoid CStudentDlg:SetMoveBNState(void)CWnd *pWnd;if(m_bEmpty|m_bEdit)pWnd=GetDlgItem(IDC_BN_FIRST);pWnd-EnableWindow(FALSE);pWnd=GetDlgItem(IDC_BN_PREV);pWnd-EnableWindow(FALSE);pWnd=GetDlgItem(IDC_BN_LAST);pWnd-EnableWindow(FALSE);pWnd=GetDlgItem(IDC_BN_NEXT);pWnd-EnableWindow(FALSE);return;if(m_bFirst)pWnd=GetDlgItem(IDC_BN_FIRST);pWnd-Enable

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

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