学生档案管理系统SQL2000+MFC
- 格式:doc
- 大小:567.00 KB
- 文档页数:13
学生信息管理系统(一)用microsoft office access创建一个数据库(图)在表中添加字段和数据类型,如下图所示:(图)(图)(图)创建ODBC数据源选择控制面板→管理工具→数据源(ODBC)→系统DSN标签→单击“添加”出现下图所示的界面。
选择Drive do Microsoft Access (*.mdb),单击“完成”。
输入数据源名,单击“选择、、、”,选择c/ 单击“确定”,将会出现如图(图)所示。
(图)(图)(图)(二).MFC图形建立(图)特别注意:创建的应用程序类型是单文档(single document应用程序)(图)将CSTUDXINXIView 的基类改为CScrollView 然后单击“完成”。
(图)为数据表创建CRecordSet用户类按“Ctrl+W ”进入“建立类向导(即MFC ClasWizard)”单击“Add Class...”选择“New...”如图(图)所示.按照(图)→(图)→(图)的安装顺序。
即可完成创建CRecordSet用户类的工作。
(图)(图)(图)(图)在文件中添加CRecordSet包含语句:#include<>如图(图)所示(图)(三)构建班级信息对话框类按“Ctrl+R”键,打开“插入资源”,选择dialog(对话框),选择新建。
将名字改为IDD_CLASSINFO,标题为“班级信息输入”。
按照(图)添加控件。
对于学制框:使用Data页面来添加数据项,按Ctrl+Enter 换行。
(图)完成控件添加后,选择“建立类向导”,创建一个新类、即CClassInfoDlg,如图()所示。
然后按照下图,为控件添加成员变量。
(图)(图)(图使用类向导为CClassInfoDlg类添加WM_INITDIALOG消息映射。
代码位于附录1。
见(图)使用类向导为CClassInfoDlg类添加IDOK按钮的BN_CLICKED消息映射。
用MFC做的一个学生信息管理系统,有增加、删除、排序、筛选功能,系统通过ODBC方式连接数据库。
由于文库不支持RAR,故需要完整的程序以及数据库可以联系俺,希望对大家有帮助。
下面是简单的报告:C++程序设计报告设计题目:学生信息管理系统班级:姓名:学号:指导教师:时间:2011年12月13日目录1.设计目标……………………………………………………………2.设计内容……………………………………………………………3.设计思想……………………………………………………………4.设计说明……………………………………………………………5.设计步骤……………………………………………………………6.软件演示……………………………………………………………7.感想总结……………………………………………………………学生信息管理系统(MFC)1.设计目标了解Windows应用程序的结构与DOS程序的不同,掌握应用MFC类库编写Windows应用程序的基本模式与用ODBC方式访问数据库。
2.设计内容以学生信息管理系统为例,通过对简单应用软件系统的设计,编制、调试,实现简单的增加、删除、排序等运算,以学习应用MFC库类编写对话框的原理,加深对C++类的学习及应用。
3. 设计思想基于MFC库类对对话框界面的设计,通过创建类成员函数成员变量,编辑控件创建消息映射,调用消息函数完成数据的输入输出,实现相关功能。
生成简单的应用软件。
4.设计说明(1)包含的功能有:查看、增加、删除、排序、筛选等功能。
(2)通过access创建数据库并通过OD方式访问数据库。
(3)编辑界面上的不同按钮,创建消息映射,以完成相关的各种操作。
5.设计步骤1、创建数据库:打开access,并创建一个新表“student”,输入相关内容,选择类型。
并创建主键后。
完成后保存。
2、添加ODBC数据源打开“ODBC数据源管理器”添加选择| 建立类向导| 成员变量标签|class name列表下选CmySet(数据库的结果集)。
河北广播电视大学毕业设计(论文)评审表题目学生信息管理系统姓名刘耀教育层次大学专科学号111300141****分校保定广播电视大学专业计算机信息管理教学点直属班学生毕业设计(论文)评审表河北广播电视大学“人才培养模式改革和开放教育试点”计算机信息管理专业毕业设计毕业设计题目学生信息管理系统学生姓名刘耀学号1113001414321年级2011春分校/学院保定广播电视大学提交日期2012年9月9日前言随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。
面对庞大的信息量需要有学生管理系统来提高学生管理工作的效率。
通过这样的系统可以做到信息的规范管理、科学统计和快速查询、修改、增加、删除等,从而减少管理方面的工作量。
本系统主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、规范化和自动化,其主要任务是用计算机对学生各种信息进行日常管理,如查询、修改、增加、删除,另外还考虑到学生选课,针对这些要求设计了学生信息管理系统;本系统主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、规范化和自动化,其主要任务是用计算机对学生各种信息进行日常管理,如查询、修改、增加、删除,另外还考虑到学生选课,针对这些要求设计了学生信息管理系统。
学生信息管理系统是典型的信息管理系统 (MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
对于前者要求建立起数据一致性和完整性强、数据安全性好的库。
而对于后者则要求应用程序功能完备,易使用等特点。
基于学校学生众多,为了数据的安全性,系统将学生数据保存在数据库中,以Visual C++设计前台对系统进行设计。
因为学生信息管理系统是一项很实用的系统,所面对的数据量很大,所以我们要求系统能够高效快速的处理这些数据,并且要保证数据的正确性、相容性和安全性。
C++作为前台是将数据库中的数据读取出来,有助于用户对这些数据进行相应的操作,使操作更方便,更符合用户的要求。
教学管理系统,s q l2000 -CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN教学管理系统系统设计设计目标减轻教学日常信息管理的负担,方便学生、教师查询信息和学校对所有信息的管理。
以简单便捷的操作获取详尽的信息。
设计思路在日常的教学管理活动中主要涉及:1、教职工和学生的信息管理2、学生的成绩管理、查询、统计3、教师查询自己教授学生的信息和成绩的录入修改4、各门课程的安排和信息查询对日常教学管理活动的分析后,对各种信息统一规范整理,实现各种信息的自动管理。
为便于信息的查询,找出各种信息的关联性,根据各种需求设计出合理的报表。
在管理上详细区分学生、教师、管理员三者各自拥有的权限,和他们不同的需求,仔细考虑他们的不同点,合理整理信息,确保各自的需求得到最大化满足功能模块主要分为四大模块:1、用户账户的区分和管理2、学生系统3、教师系统4、管理员系统其详细功能如图:23数据库设计数据库需求分析1)信息需求:(1) 学生信息:学号、姓名、性别、出生日期、入学成绩、所在系号。
(2) 教职工信息:职工号、姓名、性别、出身年月、所在系号、职称、专业及教学方向。
(3) 系的基本信息:系号、系名称、系的简介。
(4) 课程信息:课程号、课程名称、任课教师号、学时、学分、上课时间、上课地点、考试时间。
(5) 成绩信息:学号、课程号、平时成绩、考试成绩、总评成绩。
2)处理需求:(1) 学生基本信息管理新生信息录入。
学生信息修改:按学号查询出某学生的信息并做信息修改。
**学生转学(转入和转出),学生毕业等。
毕业和转学的学生有关信息存储到历史库中。
(2) 系基本信息管理:系的基本信息输入、修改、删除(3) 课程信息管理:课程信息的输入、修改、删除(4) 教职工信息管理:教职工信息的输入、修改、删除(5) 选课管理:4每学期所选课程的学分不能超过15分。
(创建触发器)学生可以同时选修一门或多门课程。
学生信息管理系统学院:电子信息与控制班级:2012320106专业:自动化(卓越工程师) 姓名:指导教师:2014年6月26日一.实验目的:了解MFC编程的基本知识,掌握应用MFC类库编写Windows应用程序的基本模式,了解MFC编写程序的结构框架。
二.实验内容:应用所学的C++知识,利用MFC编程,编写学生信息管理系统,实现简单的学生信息管理作用,例如学生增加、修改,能够实现管理员与学生双重身份管理。
加深对C++程序的理解和应用。
三.实验原理基于MFC库类对对话框界面的设计,通过创建类成员函数成员变量,编辑控件创建消息映射,调用消息函数完成数据的输入输出,实现相关功能。
生成简单的应用软件。
四.程序功能(1)能够实现对管理员和学生登录时的识别,并对其权限做出相应限制(2)管理员登录后能够查看所有成员的信息,包括个人档案,学生成绩。
(3)学生登录后能够实现对自己信息的查看和修改,不能查看到其他人的信息。
五. 软件演示:编译、运行:1.登陆界面:2.系统管理:(1)登陆界面(图中为学生登录)(2)登陆成功3.管理界面:(1)档案输入:(学生权限)(2)学生无修改成绩权限,仅能进行成绩查询(3).使用管理员权限登陆:(4)以管理员身份进行学生成绩录入:成绩写入成功(5)学生查询(6)学生基本信息修改:(学生权限)(7)学生成绩修改:(管理员权限)六.实验总结在这次的实验完成过程中,我们增长了很多知识,一点一点从刚开始的弹出对话框,到菜单界面的显示,再到程序功能的实现,通过上网查资料等手段学习并了解了怎样通过类向导编写一系列的程序,初步了解了MFC的原理,最终完成了学生成绩管理这一项目,实现查询、修改、输入等一系列基本功能,加深了对C++编程的理解,初步了解了利用MFC的基本原理,锻炼了编写实用程序的能力七.主要程序代码(1)登录界面程序void LogDlg::OnOk(){// TODO: Add your control notification handler code here//LogDlg logdlg;CString log_name;UpdateData(TRUE);log_name=m_logname;log_name.Format("%s.txt",log_name);CString C_lang="\n";CString Eng="\n";CStdioFile file(log_name,CFile::modeRead);file.ReadString(C_lang);file.ReadString(Eng);file.Close();UpdateData(true);if((m_logname==C_lang)&&(m_logkey==Eng)){Info.student_logname=m_logname;Info.student_logkey=m_logkey;CDialog::OnOK();MessageBox("enter sucess!");}else{MessageBox("enter fail!check your password!");}UpdateData(false);(2)成绩输入界面程序void InputGrade::OnOK(){// TODO: Add extra validation hereint f=0;if(Info.student_logname=="管理员"){charge chge;chge.DoModal();f=1;CString log_name;UpdateData(TRUE );log_name=Info.student_logname;Info.C_language= m_iclanguage;Info.English=m_ienglish;Info.Physics=m_iphysics;Info.Probability=m_iprobability;log_name.Format("%s.txt",log_name);CStdioFile file(log_name,CFile::modeReadWrite);DWORD dwActual = file.SeekToEnd();file.WriteString(Info.C_language+'\n');file.WriteString(Info.English+'\n');file.WriteString(Info.Physics+'\n');file.WriteString(Info.Probability+'\n');file.WriteString(Info.flag_length);file.Close();MessageBox("成绩写入成功!");}elseMessageBox("你没有此权限!");CDialog::OnOK();if(f==1){Info.student_logname="管理员";}}(3)读取界面程序void changGrade::OnOK(){int F=0;if(Info.student_logname=="管理员"){charge chge;chge.DoModal();F=1;}CString log_name;//UpdateData(TRUE);log_name=Info.student_logname;log_name.Format("%s.txt",log_name);CString C_lang="\n";CString Eng="\n";CString Phy="\n";CString Pro="\n";CStdioFile file(log_name,CFile::modeRead);do{file.ReadString(C_lang);}while((C_lang!="男")&&(C_lang!="女"));file.ReadString(C_lang);file.ReadString(Eng);file.ReadString(Phy);file.ReadString(Pro);file.Close();UpdateData(true);m_cclang=C_lang;m_cenglish=Eng;m_cphysics=Phy;m_cproba=Pro;UpdateData(false);if(F==1){Info.student_logname="管理员";}}(4)修改界面程序void changGrade::OnCancel(){CString lname;CString lkey;CString name;CString depart;CString clss;CString sex;int length;// TODO: Add extra cleanup here if(Info.student_logname=="管理员") {charge chge;chge.DoModal();CString log_name;CString unuse;CFileStatus fileStatus;UpdateData(TRUE);log_name=Info.student_logname;Info.C_language=m_cclang;Info.English=m_cenglish;Info.Physics=m_cphysics;Info.Probability=m_cproba;//MessageBox(Info.student_logname);log_name.Format("%s.txt",log_name);/*CStdioFile file(log_name,CFile::modeRead); file.ReadString(lname);//MessageBox(C_lang);Info.student_logname=lname;file.ReadString(lkey);Info.student_logkey=lkey;file.ReadString(name);Info.student_name=name;file.ReadString(clss);Info.student_class=clss;file.ReadString(depart);Info.student_department=depart;//MessageBox(Phy);file.ReadString(sex);Info.student_sex=sex;file.Close();*/CStdioFile cfile(log_name,CFile::modeReadWrite); length=atol(Info.flag_length);cfile.Seek(35,CFile::begin);cfile.WriteString(Info.C_language+'\n');cfile.WriteString(Info.English+'\n');cfile.WriteString(Info.Physics+'\n');cfile.WriteString(Info.Probability+'\n');cfile.Close();MessageBox("change success!");Info.student_logname="管理员";CDialog::OnOK();}else{MessageBox("你没有此权限");CDialog::OnOK();}}。
学生信息管理系统(Microsoft SQL SERVER)数据库设计示例一、前言随着我国教育产业化的飞速发展,社会对教育水平和教学管理软硬件的要求日益提高,尤其是学校对学生管理能够具有一整套完善的教学管理软件提出了更多的要求。
为了适应这种形式,教育系统尤其不仅首先要有坚实的硬件基础,还要有一整套完善的教学管理软件管理系统。
而要实现这一功能,就要求学校管理者配备一套高效的教育管理网络系统,以便在学校内实施良好的一整套完善的管理且以最快地速度响应教师和学生的需求,及时为他们提供服务,为他们提供一个高效、便捷的环境。
学生管理信息系统(MIS)是校园网络中一个重要的应用系统,它大大了改善学校教学、科研与管理的基础环境,在一定程度上反映出学校管理现代化的水平。
学生信息管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面.对于前者要求建立数据一致性和完整性强,数据安全性好的数据库.而对于后者则要求应用程序功能完备,易使用等特点.学生信息管理系统主要功能有学生学籍管理、成绩管理、班级管理、课程管理。
学生学籍管理主要有添加新学生学籍;学生学籍修改;学生学籍删除。
成绩管理包括成绩录入、成绩查询、成绩删除。
班级管理包括添加班级、修改班级。
课程管理包括设置课程、添加课程、修改课程。
同时系统采用分级使用,即分管理者和普通用户两个级别,管理者具有所有功能,普通用户即有部分功能将限制使用。
系统开发采用Microsoft公司的Visual Basic 6.0,利用其强大的可视化界面功能及对数据库的支持。
系统中大量采用SQL查询语句,界面友好,功能较强。
采用Microsoft SQL SERVER系统作为数据库,速度较快,数据能共享,能较好地解决访问速度及数据共享的问题。
二系统功能描述本系统的主要任务是实现对学校的学生学籍管理、成绩管理、班级管理、课程管理。
系统采用分级使用其主要功能包括:1.学生学藉管理功能●添加新学生学籍。
MFC使用ADO对象开发数据库应用程序需要一个List Constrol控件设置为其步骤一般分为:(1)引入ADO动态库文件(2)初始化COM环境(3)连接数据库操作数据表说明:本数据库使用acess2000制作,名字为“shujuku.mdb”。
内含一个表,命名为“表1”。
在stdafx.h添加以下代码引入ADO动态库文件#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace\ rename("EOF","adoEOF")rename("BOF","adoBOF")初始化COM环境::CoInitialize(NULL); //在app类中的InitInstance函数中添加::CoUninitialize(); //在app类中的InitInstance函数的最后(return之前)添加,释放COM环境首先先在dlg头文件中先声明这两个智能指针,通过这些指针可以很容易的创建和删除ADO对象。
_ConnectionPtr m_pConnection;_RecordsetPtr m_pRecordset;接下来在dlg类中添加函数void OnInitADOConn()void CMy1Dlg::OnInitADOConn(){try{//创建连接对象实例m_pConnection.CreateInstance("ADODB.Connection");//设置连接字符串(2000的在代码中有!)CString strConnect="DRIVER={Microsoft Access Driver (*.mdb)};\uid=;pwd=;DBQ=shujuku.mdb;";//使用Open方法连接数据库m_pConnection->Open((_bstr_t)strConnect,"","",adModeUnknown);}catch(_com_error e){AfxMessageBox(e.Description());}}在dlg类中在添加void ExitConnect()函数void CMy1Dlg::ExitConnect(){//关闭记录集和连接if(m_pRecordset!=NULL)m_pRecordset->Close();m_pConnection->Close();}在dlg类的OnInitDialog函数中添加如下代码,设置列表视图的风格和标题(写在最后)m_Grid.SetExtendedStyle(LVS_EX_FLATSB|LVS_EX_FULLROWSELECT|LVS_EX_HEADERDRAGDROP|LVS_EX_ONECLICKACTIV ATE|LVS_EX_GRIDLINES);m_Grid.InsertColumn(0,"编号",LVCFMT_LEFT,110,0);m_Grid.InsertColumn(1,"姓名",LVCFMT_LEFT,110,1);m_Grid.InsertColumn(2,"性别",LVCFMT_LEFT,110,2);m_Grid.InsertColumn(3,"学历",LVCFMT_LEFT,110,3);AddToGrid();在dlg类中添加void AddToGrid()函数void CMy1Dlg::AddToGrid(){//连接数据库OnInitADOConn();//设置查询字符串_bstr_t bstrSQL = "select * from 表1 order by 编号desc";//创建记录集指针对象实例m_pRecordset.CreateInstance(__uuidof(Recordset));//打开记录集m_pRecordset->Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic, adLockOptimistic,adCmdText);while(!m_pRecordset->adoEOF){m_Grid.InsertItem(0,"");m_Grid.SetItemText(0,0,(char*)(_bstr_t)m_pRecordset->GetCollect("编号"));m_Grid.SetItemText(0,1,(char*)(_bstr_t)m_pRecordset->GetCollect("姓名"));m_Grid.SetItemText(0,2,(char*)(_bstr_t)m_pRecordset->GetCollect("性别"));m_Grid.SetItemText(0,3,(char*)(_bstr_t)m_pRecordset->GetCollect("学历"));//将记录集指针移动到下一条记录m_pRecordset->MoveNext();}//断开数据库连接ExitConnect();}接下来为四个edit控件和一个list constrol控件关联变量,在资源中右键点击选择classwizar 里的Member variables,分别为它们设置变量为m_ID,m_Name,m_Sex,m_Culture,m_Grid.在dlg类的头文件部分自动会生成CString m_ID;CString m_Name;CString m_Sex;CString m_Culture;CListCtrl m_Grid;Dlg类构造函数中m_ID = _T("");m_Name = _T("");m_Sex = _T("");m_Culture = _T("");dlg类的DoDataExchange()函数中DDX_Text(pDX, IDC_EDIT1, m_ID);DDX_Text(pDX, IDC_EDIT2, m_Name);DDX_Text(pDX, IDC_EDIT3, m_Sex);DDX_Text(pDX, IDC_EDIT4, m_Culture);接下来双击那四个功能按钮和一个列表控件的点击响应功能,分别生成各自的响应函数//记录数据添加功能void CMy1Dlg::OnButton1(){UpdateData(TRUE);if(m_ID.IsEmpty() || m_Name.IsEmpty() || m_Sex.IsEmpty() || m_Culture.IsEmpty()) {MessageBox("基础信息不能为空!");return;}OnInitADOConn();_bstr_t sql;sql = "select * from 表1";m_pRecordset.CreateInstance(__uuidof(Recordset));m_pRecordset->Open(sql,m_pConnection.GetInterfacePtr(),adOpenDynamic, adLockOptimistic,adCmdText);try{m_pRecordset->AddNew(); //添加新行m_pRecordset->PutCollect("编号",(_bstr_t)m_ID);m_pRecordset->PutCollect("姓名",(_bstr_t)m_Name);m_pRecordset->PutCollect("性别",(_bstr_t)m_Sex);m_pRecordset->PutCollect("学历",(_bstr_t)m_Culture);m_pRecordset->Update(); //更新数据表ExitConnect();}catch(...){MessageBox("操作失败");return;}MessageBox("添加成功");m_Grid.DeleteAllItems(); //删除列表控件AddToGrid();}//在dlg类头文件声明一个long型变量,用来保存用户单击的记录在列表控件的位置为列表,该变量定义在dlg的类内。
课程设计报告
课程名称: 数据库原理课程设计专业: 软件工程
姓名:
班级:
学号:
指导教师:
学生档案管理系统
一、需求分析
1引言
1.1编写目的
本系统的开发目的是为了开发出一套功能完善、操作便捷、及时性好、适用面广的高校学生档案管理系统,以提高高校学生档案管理的效率学生档案信息是学校管理的重要组成部分,它记录了学校所有学生的基本信息。
由于学生信息量的庞大,需要一个学生档案管理系统,这个系统能帮助档案理人员利用计算机,快速方便的对学生的基本信息、教育经历信息、奖惩信息等基本档案进行插入、删除、更改、查询等所需操作。
1.2背景
高校学生档案管理最初是人工方式进行,显然在信息化发展的今天,这远远不能满足档案管理的需要。
后来,随着单机板档案管理系统的开发,这在很大程度上解决了上述矛盾但是,这种系统如今也不能满足档案管理的要求了,这主要是由于高校的扩招,在校学生人数的增加。
本课程设计是在这种背景下提出的。
2任务概述
2.1目标
开发一个使用于学生档案管理的系统。
2.2用户的特点
学生档案的管理者。
3需求规定
3.1对功能的规定
(1)院系信息的添加、修改、删除和查询,院系信息包括院系名称、院系编号。
(2)学生基本信息的添加、修改、删除和查询,学生基本信息包括学生编号、学生姓名、性别、民族、籍贯、出生日期。
(3)学生教育经历信息的添加、修改、删除和查询,学生教育经历信息包括编号、起始日期、截止日期、学校名称。
(4)学生奖励和处罚信息管理,包括奖惩记录编号、奖惩日期、奖惩类型(0表示奖励、1表示处罚),奖惩说明。
(5)学生学籍变动信息管理,包括调转管理,学生学籍变动信息包括学籍变动编号、变动日期、转入学校、软入院系,原因说明。
3.2对性能的规定
检索迅速、查找方便、可靠性高、存储量大。
3.3界面需求
首先出现登陆界面,用户为学生档案的管理者。
3.4操作需求
点击按钮,可以执行相应操作。
4.数据流图
4.1功能数据流图,如图1。
图1-1 学生档案管理功能数据流图
二、概念结构设计
1.E-R图
1.1院系信息模块,如图2-1。
图2-1院系信息模块
1.2学生基本信息模块,如图2-2。
图2-2学生基本信息模块
1.3学生奖励和处罚模块,如图2-3。
图2-3学生奖励和处罚模块1.4学生奖励和处罚模块,如图2-4。
图2-4学生教育经历模块1.5学生奖励和处罚模块,如图2-5。
图2-5学生学籍变动模块1.6 E-R图,如图2-6。
图2-6 学生档案管理系统E-R图
2.E-R图说明
本系统的E-R图,主要包括6个实体,分别是学生基本信息、院系信息、学生奖惩信息、学生学籍变动信息、学生教育经历信息和档案管理员。
档案管理员可以管理多个学生档案,一个学院管理多个学生,一个学生可以有多个教育经历、多个奖励和处罚、多次学籍变动。
三、逻辑结构设计
在概念设计的基础上,根据设计得到系统总体的E-R图,按照概念模式与关系表转化的一般规则,结合实际的需要进行逻辑设计,E-R图中的实体、实体的属性和实体之间的联系转化为关系模式。
1.系统关系模型
(1)院系(院系编号、院系名称),主码:院系编号。
(2)学生(学生编号、学生姓名、性别、民族、籍贯、出生日期、院系编号),主码:学生编号,外码:院系编号。
(3)学生教育经历(编号、学生编号、起始日期、截止日期、学校名称),主码:编号,外码:学生编号。
(4)学生奖励和处罚信息(奖惩记录编号、学生编号、奖惩日期、奖惩类型(0表示奖励、1表示处罚),奖惩说明),主码:奖惩记录编号,外码:学生编号。
(5)学生学籍变动信息(学籍变动编号、学生编号、变动日期、转入学校、软入院系,原因说明),主码:学籍变动编号,外码:学生编号。
(6)档案管理员(用户名、密码),主码:用户名。
四、数据库物理设计
1.系统数据库表结构
数据库包含6个表
(1)院系表,保存学校院系的信息,结构如表4-1。
表4-1Classes的结构
编号字段名称数据类型说明
1 Class_Id int 院系编号,主键
2 Class_Name varchar 40 院系名称
(2)学生信息基本表student,结构如表4-2。
表4-2Student的结构
编号字段名称数据类型说明
1 Student_Id int 学号,主键
2 Student-name varchar 20 姓名
3 Sex char 2 性别
4 Birth int 出生日前
5 Nationality varchar 40 民族
6 Family_Place varchar 60 籍贯
7 Class-card varchar 50 所在的院系编号
(3)学生教育经历记录表Experience,保存学生教育经历的基本信息,结构如表4-3。
表4-3Experience的结构
编号字段名称数据类型说明
1 Expld int 编号,主码
2 Student_Id int 学生编号
3 Start_Date char 10 开始日期
4 End_Date char 10 终止日期
5 School varchar 50 学校名称
(4)学生奖惩表Evaluation,保存学生的奖励和处罚信息,结构如表4-4。
表4-4Evaluation的结构
编号字段名成数据类型说明
1 Evaid int 奖惩记录编号,主码
2 evadate char 10 奖惩日期
3 Student_Id int 学生编号
4 EvaType bit 奖惩类型(0表示奖励,1表示处罚)
5 Memo varchar 200 奖惩说明
(5)学籍变动表格Change,保存学生学籍变动的信息,结构如表4-5。
表4-5Change的结构
编号字段名成数据类型说明
1 ChangeId int 学籍变动编号,主键
2 Student_Id int 学生编号
4 Changedate Char 10 变动日期
6 NewSchool varchar 50 转入学校
7 NewClass int 转入院系编号
8 Reason varchar 200 学籍变动原因
9 Memo varchar 200 备注
(6)用户信息表Users,保存系统用户信息,结构如表4-6。
表4-6Users的结构
编号字段名称数据类型说明
1 UserName char50 用户名,主码
2 UserPwd char50 密码
五、数据库的实施
1.系统模块图,如图5-1
图5-1系统模块图
2模块功能
2.1登陆模块
输入用户ID和用户密码,并判断输入是否正确,如图5-2
图5-2登陆模块程序流程图
2.2学生基本信息模块
开始程序并且选择学生基本信息按钮,可对学生基本信息进行增加、修改、删除和查询的操作,如图5-3。
图5-3学生基本信息模块图
2.2学院基本信息模块
开始程序并且选择院系信息按钮,可对院系信息进行增加、修改、删除和查询的操作,如图5-4。
图5-4院系信息模块图
3创建数据库Student,配置数据源,数据源名为“Student”。
用MFC AppWizard
创建一个名为“学生档案管理系统”的基于对话框的应用程序框架。
设计各界面的对话框,为每个对话框创建类,并为对话框中控件绑定变量。
使用MFC ClassWizard以CRecordset为基类,为各个表创建新类,并以“Student”为ODBC 数据源。
六、系统运行结果
1.运行后显示登录对话框,输入用户ID号和用户密码(用户ID:1234,密码:1234)如图6-11
图6-1登陆界面
2点击基本信息管理按钮,显示学生基本信息表,如图6-2
图6-2显示基本信息管理界面
3点击添加按钮,显示编辑学生基本信息,如图6-3
图6-3编辑学生信息界面
4选中一行信息,点击删除按钮,弹出提示对话框,若确定则删除此条信息,如图6-4
图6-4删除一条学生基本信息记录
5选中一行信息点击修改按钮,出先修改学生基本信息,如图6-5
图6-5修改学生基本信息页面
6点击查询按钮,弹出输入学生学号的对话框,并输入学生学号,按确定输出要查询的学生基本信息,如图6-6和6-7
图6-6查询学生基本信息
图6-6查询学生基本信息
七、实习总结
本系统采用目前比较流行的ODBC数据访问技术,并将每个数据库表的字段和操作封装到类中,从而成功地将面向对象的程序设计思想应用到数据库应用程序设计中。
在实习中,我们可以把这学期所学的理论知识和实践联系起来,在所要开发的程序中渐渐融会贯通。
虽然我们对这些知识还运用得还不是很熟练,但是相信在现在和今后的学习中会得到更加深刻的掌握。
实习过程中我们一边设计一边探索,发现理论和实践要充分地结合,是需要扎实的基本功的,这就表明学好基础知识是理论付诸实践的前提。
在实习中我们学到了很多,希望在以后我们能充分利用实习的机会充实自己,并希望这样的机会能被更好更多地提供。