ImageVerifierCode 换一换
格式:DOCX , 页数:34 ,大小:281.63KB ,
资源ID:692971      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-692971.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(成绩管理系统 mfc c++ sql系统开发.docx)为本站会员(b****2)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

成绩管理系统 mfc c++ sql系统开发.docx

1、成绩管理系统 mfc c+ sql系统开发数据库课程设计 学生成绩管理系统授课老师: 高寅生 专业:软件工程班级: 软件A0801 学号: 14102080106姓名: 孔卫超 系统简介一,系统概述开发环境:microsoft visual studio 6 mfc数据库版本:sql2000系统名称:成绩管理系统(整体界面如图1_1) 图1_1系统界面截图二,系统功能对成绩进行简单管理,统计并公示各班各门课的成绩分部情况,及格率;学生通过密码查看自己每门课的成绩及平均分,不及格门数;教师通过密码上传查看自己所授课程的成绩,且上传后三个工作日不能再更改。选课模式为我校的必修课,同一班的人上相同的

2、课,一个老师可带多门课,可带多个班级,可带多个班级的同一门课。三,同其他系统关联本系统仅对成绩进行管理,对学生基本信息,教师基本信息,课程基本信息为只读操作,这些信息的管理为其他管理系统的功能。系统设计一,数据库设计学生表(学号,姓名,班级号,密码)教师表(教师号,姓名,密码)课程表(课程号,课程名)成绩表(学号,课程号,成绩)教师授课表(课程号,班级号,教师号,成绩上传日期,已上传成绩否)相应ER图如图2_1。数据库中的各表见附录1。图2_1 成绩管理系统ER图二,系统角色设计 系统分3个角色,游客,学生,教师。游客能查看各班级的成绩统计,学生能查看自己的成绩和不及格门数。教师能上传,修改和

3、查看自己教授班级的成绩。用况图如图2_2。图2_2 系统用况图二,系统模块及界面设计 本系统分3个界面,分别与图2_2的三个角色相对应。如下图2_3为游客页,图2_4为学生页,图2_5为教师页。 图2_3 游客页 图2_4学生页图2_5 教师页 系统模块在上述三界面为基础的角色上曾加一个数据库常用操作模块。如图2_6。其中各模块对应的源文件见附录2 系统源代码。图2_6系统模块图系统测试一, 系统初始化测试输入:启动程序理论输出:欢迎界面5秒后启动系统实际输出:如图3_1图2_7 闪屏界面二,欢迎界面测试输入:启动程序理论输出:统计处已上传的成绩的成绩统计时间输出:如图3_2图2_8 成绩分部

4、统计三,学生界面测试1,密码测试输入:学号 10714010127 密码888理论输出:提示错误实际输出:如图3_3 图3_3 错误密码测试 图3_3 正确 用户和密码2,正确密码测试输入:学号 10714010127 密码 123456理论输出:学生登入,并显示成绩统计实际输出:如图3_4四 教师页面测试1,超期上传成绩测试输入:单击要上传的班级理论输出:提示您的科目已超过三个工作日,只能查看实际输出:如图3_5 图3_5 超过3个工作日不能修改成绩2,上传成绩测试输入:单击要上传的班级理论输出:返回相应班级成绩表,供老师上传实际输出:如图3_6附录附录一 数据库各表学生表(student)

5、学号(sno) 姓名(sname) 班级(sclass)密码(spassword)10714010101 王新 软A0711 12345610714010102 王运涛 软A0711 12345610714010103 王宁宁 软A0711 12345610714010104 姜铁军 软A0711 12345610714010125 建 信 A0711 12345610714010127 汤龙 软A0711 12345610714010201 张一 软A0712 12345610714010202 王麻 软A0712 12345610714010203 李四 软A0712 1234561071

6、4010204 张三 软A0712 12345610714010227 二七人 软A0712 123456教师表(teacher)教师号(tno)姓名(tname) 密码(tpassword)20714010101 严青 12345620714010102 李秀贤 12345620714010103 胡华 12345620714010104 程宵 12345620714010105 王超 12345620714010106 孟娜 12345620714010107 董晓刚 12345620714010123 叶争青 12345620714010127 张海 123456课程表(course)课

7、程(cno) 课程名(cname)000000 单片机原理与应用000001 数据库课程设计000002 大学语文000003 asp程序设计000004 java程序设计000005 软件工程教师授课表(tcourse) 教师号(tno) 课程号(cno) 班级(sclass) 上传时间 上传状态20714010101 000000 软A0711 2010-06-20 22:14:00 120714010101 000000 软A0712 NULL 020714010103 000002 软A0712 2010-06-20 22:16:00 120714010123 000002 软A071

8、1 2010-06-21 12:15:00 120714010127 000001 软A0711 NULL 020714010127 000001 软A0712 NULL 0成绩表(grade) 学号(sno) 课程号(cno) 成绩(grade) 10714010101 000000 8810714010101 000002 8010714010102 000000 8910714010102 000002 10010714010103 000000 9510714010103 000002 9510714010104 000000 9010714010104 000002 88107140

9、10125 000000 7510714010125 000002 9010714010127 000000 5510714010127 000002 9510714010201 000002 6510714010202 000002 3010714010203 000002 9010714010204 000002 7010714010227 000002 50附录2 系统源代码1 数据库常用操作主要源代码/*adoconn.cpp*/* 函数名:void ADOConn:OnInitADOConn()* 功能: 建立数据库连接* 参数: 无* 全局变量引用:m_pConnection(ad

10、o 数据库连接指针) * 返回值 无*/void ADOConn:OnInitADOConn() /初始化OLE/COM库环境 :CoInitialize(NULL); try /创建connection对象 m_pConnection.CreateInstance(ADODB.Connection); /设置连接字符串 CString conectstr; conectstr.Format(Provider=SQLOLEDB.1;Integrated Security=SSPI; Persist Security Info=False;Initial Catalog=%s; Data Sou

11、rce=%s,DATABASENAME,SERVERNAME); _bstr_t strConnect= conectstr; /SERVER和UID,PWD的设置根据实际情况来设置 m_pConnection-Open(strConnect,adModeUnknown); /捕捉异常 catch(_com_error e) /显示错误信息 /AfxMessageBox(e.Description(); AfxMessageBox(连接数据库失败); /* 函数名:_RecordsetPtr& ADOConn:GetRecordSet(_bstr_t bstrSQL)* 功能: 获取数据库查询

12、记录集* 参数: _bstr_t bstrsql(数据库语句)* 全局变量:m_pConnection(数据库连接指针) m_pRecordset(数据库记录集指针)* 返回值:m_pRecordset 引用*/_RecordsetPtr& ADOConn:GetRecordSet(_bstr_t bstrSQL) try /连接数据库,如果connection对象为空,则重新连接数据库 if(m_pConnection=NULL) OnInitADOConn(); /创建记录集对象 m_pRecordset.CreateInstance(_uuidof(Recordset); /取得表中的记

13、录 m_pRecordset-Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic, adLockOptimistic,adCmdText); catch(_com_error e) AfxMessageBox(获取记录集失败!); /返回记录集 return m_pRecordset;/* 函数名:BOOL ADOConn:ExecuteSQL(_bstr_t bstrSQL)* 功能: 执行sql语句* 参数: _bstr_t bstrSql 待执行的sql语句* 全局变量引用:m_pConnection 数据库连接指针* 返

14、回值:成执行返回 true 失败返回false* 备注:connection对象的Execute方法(_bstr_t CommandText,VARIANT * RecordsAffected, long Options)其中CommandText是命令字符串,通常是SQL命令参数RecordsAffected是操作完 成后所影响的行数参数Options表示CommandText的类型,adCmdText-文本命令,adCmdTable-表 名adCmdProc-存储过程,adCmdUnknown-未知*/BOOL ADOConn:ExecuteSQL(_bstr_t bstrSQL) _va

15、riant_t RecordsAffected; try /是否已连接数据库 if(m_pConnection=NULL) /未连接 OnInitADOConn(); m_pConnection-Execute(bstrSQL,NULL,adCmdText); return true; catch(_com_error e) e.Description(); return false; /* 函数名:void ADOConn:ExitConnect()* 功能: 断开数据库连接,关闭记录集* 参数: 无* 全局变量:m_pConnection,m_pRecordset* 返回值:无*/void

16、 ADOConn:ExitConnect() /关闭记录集和连接 if(m_pRecordset!=NULL) m_pRecordset-Close(); m_pConnection-Close(); /释放环境 :CoUninitialize();2 主窗口源代码/*grademsdlg.h*/class CGradeMSDlg : public CDialogpublic: CGradeMSDlg(CWnd* pParent = NULL); / standard constructor StuPage stuPage; /子对话框 WelPage welPage; TeaPage tea

17、Page; /AFX_DATA(CGradeMSDlg) enum IDD = IDD_GRADEMS_DIALOG ; CListCtrl m_Func_list; /AFX_DATA / ClassWizard generated virtual function overrides /AFX_VIRTUAL(CGradeMSDlg) protected: virtual void DoDataExchange(CDataExchange* pDX); / DDX/DDV support /AFX_VIRTUAL/ Implementationprotected: HICON m_hIco

18、n; / Generated message map functions /AFX_MSG(CGradeMSDlg) virtual BOOL OnInitDialog(); afx_msg void OnSysCommand(UINT nID, LPARAM lParam); afx_msg void OnPaint(); afx_msg HCURSOR OnQueryDragIcon(); afx_msg void OnClickFuncList1(NMHDR* pNMHDR, LRESULT* pResult); /AFX_MSG afx_msg void Rnew(WPARAM wpa

19、ram,LPARAM lparam); /手动添加变量private: CImageList m_ImageList; /手动添加功能函数private: void UpdateFuncList(); /初始化功能选择列表 void MoveChild(); /把子窗口嵌入父窗口 void ActivatePage(int index);/显示活动页 DECLARE_MESSAGE_MAP();*grademsdlg.cpp*/* 函数名:HCURSOR CGradeMSDlg:UpdateFuncList();* 功能:初始化或更新功能列表*/void CGradeMSDlg:UpdateF

20、uncList() m_ImageList.Create(32, 32, ILC_COLOR16|ILC_MASK,1, 4); HICON hIcon = :LoadIcon (AfxGetResourceHandle(), MAKEINTRESOURCE(IDI_WELICON); m_ImageList.Add(hIcon); hIcon = :LoadIcon (AfxGetResourceHandle(), MAKEINTRESOURCE(IDI_TEAICON); m_ImageList.Add(hIcon); hIcon = :LoadIcon (AfxGetResourceHa

21、ndle(), MAKEINTRESOURCE(IDI_STUICON); m_ImageList.Add(hIcon); m_Func_list.SetImageList(&m_ImageList, LVSIL_NORMAL); CRect rc; m_Func_list.GetClientRect(rc); / set new icon spacing m_Func_list.SetIconSpacing(rc.Width(), 64); / change colors m_Func_list.SetTextColor(RGB(6,247,13); /绿色 m_Func_list.SetT

22、extBkColor(RGB(87,166,117);/蓝色 m_Func_list.SetBkColor(RGB(87,166,117); / insert items m_Func_list.InsertColumn(0, _T(OutlookBar); m_Func_list.InsertItem(0, _T(教师入口), 0); m_Func_list.InsertItem(1, _T(学生入口), 1); m_Func_list.InsertItem(2, _T(公共页面), 2);/* 函数名:void ActivatePage(int index);* 功能: 显示活动页*/vo

23、id CGradeMSDlg:ActivatePage(int index) SendMessage(RNEW,NULL,NULL); switch(index) case TEAPAGE: /显示教师页 welPage.ShowWindow(SW_HIDE); stuPage.ShowWindow(SW_HIDE); teaPage.ShowWindow(SW_SHOW);/ CString test;/ test.Format(%d,index);/ AfxMessageBox(test); break; case STUPAGE: /显示学生页 welPage.ShowWindow(SW

24、_HIDE); stuPage.ShowWindow(SW_SHOW); teaPage.ShowWindow(SW_HIDE); break; default: /公共页 welPage.ShowWindow(SW_SHOW); stuPage.ShowWindow(SW_HIDE); teaPage.ShowWindow(SW_HIDE); MoveChild(); UpdateData(false);3 教师窗口主要源代码/*teapage.cpp*/void TeaPage:OnButtontlog() /教师登入 / TODO: Add your control notificati

25、on handler code here UpdateData(true); ADOConn adotemp; CString sql; CString strtemp; _variant_t var; if (0 = m_tno.GetLength() AfxMessageBox(职工号不能为空!); return; this-SetDlgItemText(IDC_BUTTONTLOG,正在核对信息.); sql.Format(select * from teacher where tno=%s,m_tno); adotemp.GetRecordSet(_bstr_t(sql); if (adotemp.m_pRecordset-adoEOF) AfxMessageBox(没有这个职工号!); adotemp.ExitConnect(); return; if (adotemp.m_pRecordset-adoBOF) adotemp.m_pRecordset-MoveFirst(); var = adotemp.m_pRecordset-GetCollect(tpassword); /AfxMessageBox(LPCSTR)_bstr_t(var); if (m_tpassword.Compare(LPCSTR)_bstr_t(var)

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2