资源描述:
《我国证券分析师荐股绩效量化评估方法研究》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、北京邮电大学信息与通信工程学院程序设计实践设计报告课题名称:基于MFC与SQL数据库的学生信息管理学生姓名:班级:班内序号:学号:日期:2015.06.13第26页北京邮电大学信息与通信工程学院课题概述1.1课题目标和主要内容本课题中主要使用的工具MFC和SQL,在VS2012平台下进行开发。 1、实验内容: l 实现基本的学生管理系统的功能; l 实现程序与SQL数据库同步,可以进行信息修改、添加用户等功能; l 基于C++面向对象实现不同类之间的关联调用 2、实验目标: l 理解MFC应用程序的运行机制; l 掌握使用MFC构建Windows应用程序的
2、基本结构及编程的基本方法; l 理解和掌握MFC应用程序消息处理机制及应用; l 掌握MFC与数据库相连的方法,建立一个简单的学生管理系统。1.2系统的主要功能功能框图:学生信息管理系统学生成绩信息查询学生基本信息管理学生选课信息管理课程基本信息管理添加统计查看删除修改查询浏览功能描述:进入主界面后,选择单击想要进入的功能模块,进入学生基本信息管理、课程基本信息管理、学生选课信息管理模块后,可进行学生信息、课程信息和选课信息的浏览、查询、添加、修改和删除操作,进入学生成绩信息查询模块可以进行查看和统计课程总门数、总学分数和平均成绩。想要退出查询单击退出即可
3、。2.系统设计第26页北京邮电大学信息与通信工程学院2.1系统总体框架系统框架图应用层:用户权限控制层:MFC代码后台数据库管理:SQL访问、控制手动输入交互层:文本编辑框、按钮消息相应函数关联变量DDX机制赋值操作RFX机制m_strSNom_strSNamem_SNom_SNameSNoSName学号姓名对话框窗口对话框对象记录集对象IDCSNoIDCSName控件控件变量域数据成员表的字段控件和数据源表的数据交换第26页北京邮电大学信息与通信工程学院层次逻辑图开始进入主界面是否选择要查询的模块否是成绩信息选课信息课程信息学生信息浏览、查询、添加、修改
4、和删除操作(对于成绩查询只读)是否退出本模块退出程序是否结束设计思想: 分为MFC程序部分,连接部分和数据库部分。 根据功能直接操纵对话框添加控件,进而设计相应函数,调用相应类来实现功能,然后通过调用ODBC库中的函数来建立与SQL数据库的连接。2.2系统详细设计CDialogEx类[1]类关系图及描述派生类CCourseDlg类CStudentDlg类CSCChoiceDlg类CGradeDlg类CStudentInfoDlg类第26页北京邮电大学信息与通信工程学院CStudentInfoDlg对应着主界面对话框的类; CCourseDlg对应课程信息的
5、对话框的类; CGradeDlg对应着学生成绩查询的对话框的类; CSCChoiceDlg对应着选课信息的对话框的类;CStudentDlg对应着学生信息的对话框的类;CRecordset类派生类CStudentSet类CCourseSet类CSCChoiceSet类CGradeSet类CCourseSet对应课程信息记录集类; CGradeSet对应着学生成绩查询记录集类; CSCChoiceSet对应着选课信息记录集类;CStudentSet对应着学生信息记录集类;[4]存储结构、内存分配MFC中的数据存储在列表控件中,指针类型为LPCSTR; 导出数
6、据库时搜索出来的数据存储类型主要是CString,用来存储各种从数据库中获得的信息。没有内存泄漏2.3关键算法分析算法1:DoFieldExchangevoidCGradeSet1::DoFieldExchange(CFieldExchange*pFX){pFX->SetFieldType(CFieldExchange::outputColumn);RFX_Text(pFX,_T("[dbo].[C].[CNo]"),m_dboCCNo);RFX_Text(pFX,_T("[dbo].[C].[CN]"),m_dboCCN);RFX_Int(pFX,_T(
7、"[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_dboSDept);第26页北京邮电大学信息与通信工程学院RFX_Date(pFX,_T("[dbo].[S].[Bdate]"),m_dbo
8、SBdate);RFX_Date(pFX,_T("[dbo].[S