课程设计之简易学生管理系统设计 精品.docx

上传人:b****9 文档编号:23365594 上传时间:2023-05-16 格式:DOCX 页数:17 大小:438.95KB
下载 相关 举报
课程设计之简易学生管理系统设计 精品.docx_第1页
第1页 / 共17页
课程设计之简易学生管理系统设计 精品.docx_第2页
第2页 / 共17页
课程设计之简易学生管理系统设计 精品.docx_第3页
第3页 / 共17页
课程设计之简易学生管理系统设计 精品.docx_第4页
第4页 / 共17页
课程设计之简易学生管理系统设计 精品.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

课程设计之简易学生管理系统设计 精品.docx

《课程设计之简易学生管理系统设计 精品.docx》由会员分享,可在线阅读,更多相关《课程设计之简易学生管理系统设计 精品.docx(17页珍藏版)》请在冰豆网上搜索。

课程设计之简易学生管理系统设计 精品.docx

课程设计之简易学生管理系统设计精品

课程设计题目:

专业基本技能实践:

简易学生管理系统设计

课程设计任务书

1.设计目的:

数据库操作对于工程中有很重要的应用价值。

本课题要求同学在熟练掌握VC下有关数据库编程的基础上,实现一个简易的学生管理系统,能够实现浏览、添加、删除及修改等基本功能。

2.设计内容和要求(包括原始数据、技术参数、条件、设计要求等):

功能要求:

1、学习VC有关数据库编程的方法。

2、利用ACCESS实现底层数据库的建立。

3、利用ADO将数据库与VC进行连接。

4、利用VC实现前台界面的设计工作,并实现有关浏览、、添加、删除及修改等基本功能。

5、三位同学各自实现不同分工。

3.设计工作任务及工作量的要求〔包括课程设计计算说明书()、图纸、实物样品等〕:

(1)要求设计组的每个成员都要了解设计的要求和思路;

(2)编写详细的设计说明书一份;

(3)要求有正确的运行结果及结果分析。

 

课程设计任务书

4.主要参考文献:

5.设计成果形式及要求:

课程设计说明书

运行结果

6.工作计划及进度:

20XX年

12月24日~12月28日:

学习VC有关编程方法;

12月29日~20XX年1月8日:

在指导教师指导下实现程序设计;

20XX年1月9日~1月10日:

撰写课程设计说明书;

1月11日:

答辩

系主任审查意见:

签字:

年月日

 

1.设计目的及简介…………………………………………………………….1

2.数据库设计……………………………………………………………….....1

2.1概念设计…………………………………………………………...…1

2.2逻辑设计和物理结构设计………………………………………..….2

2.3数据库的输入……………………………………………………..…2

2.4定义ODBC的数据源.........................................................................2

3.程序设计………………………………………………………………..….4

3.1工程建立…………………………………………………………..….4

3.2信息查询………………………………………………………….…..6

3.3添加操作………………………………………………………….…..8

3.4修改操作……………………………………………………….……..9

3.5删除操作……………………………………………………………..10

3.6浏览操作………………………………………………………...…...12

4.调试报告………………………………………………………………..…..14

5.心得体会…………………………………………………………………....14

6.参考文献……………………………………………………………………14

 

简易学生管理系统

1.设计目的及简介

管理信息系统MIS(ManagementInformationSystem),在强调管理,强调信息的现代社会中越来越得到普及,如:

人事管理、学生管理系统、工资管理系统等。

常用的MIS系统都是基于数据库操作,实现信息的查询、增加、删除、修改等。

学生成绩管理系统是用AECESS数据库进行数据库的设计和添加数据,在设置数据源(ODBC)建立数据库与程序的连接后,利用VC开发可视化界面完成基于数据库的操作,实现学生信息的查询、增加、删除、修改。

采用ADO(ActiveXDataObject)连接实现学生基本信息的浏览。

从而实现学生成绩信息的多方位显示,方便管理者对学生成绩的管理。

2.数据库设计

2.1概念设计

根据设计要求,要对学生信息进行操作,所以系统实体主要为学生基本信息表。

学生基本信息包括姓名、学号、性别、年龄、系别,由此可得到该系统的E-R关系图:

 

图1

2.2逻辑设计和物理结构设计

根据概念设计中的E-R图,可设计学生基本信息表,其关系模型如下:

学生基本信息表:

学号,姓名,性别,年龄,系别。

在ACCESS中定义表的物理结构如下:

图2

2.3数据库的输入

在ACCESS中定义好物理结构后就可以输入数据。

学生基本信息表的输入内容如下:

图3

2.4定义ODBC的数据源

建立了数据库之后,必须配备ODBC数据源,使其指向刚刚建立的数据库。

如果操作系统是Windows2000/XP,则运行控制面板中【管理工具】下的【数据源ODBC】

双击ODBC图标,进入ODBC数据源管理器。

在这里用户可以设置ODBC数据源的一些信息,其中的【用户DSN】选项卡中可以让用户定义的在本地计算机使用的数据源名(DSN),如图所示。

图4

定义用户DNS的步骤如下:

(1)单击【添加】按钮,弹出【创建新数据源】对话框,如图所示:

图5

(2)为新的数据源选择数据库驱动程序。

由于使用的是Access数据库,所以选择MicrosoftAccessDriver,并单击【完成】按钮。

(3)在如图所示的【ODBCMicrosoftAccess安装】对话框中,为该数据源起一个简短的名称。

应用程序将使用该名称来指定用于数据库连接的ODBC数据源配置,因此建议所起的名称能反映出该数据库的用途,或者与使用该数据库的应用程序名称类似。

对于该例,给该数据源命名为STUDENT,并在下一个编辑框中输入对该数据库的说明。

图6

(4)指定数据库的位置。

单击【选取】按钮,然后指定所创建的Access数据库。

(5)单击【确定】按钮,刚才创建的用户数据源则被添加在ODBC数据源管理器的用户数据源列表中了。

3.程序设计

3.1工程建立及主窗体的设计

创建一个支持数据库的标准SDI风格的应用程序。

其过程如下。

(1)用MFCAppWizard(exe)创建一个SDI应用程序“学生管理系统”。

选择单文档。

图7

图8

(2)在向导的第二步对话框中,指定要包括支持文件的Database视图。

单击DataSource按钮,弹出DatabaseOptions对话框,如图所示。

图9

(3)在DatabaseOptions对话框中,指定将使用ODBC数据源,并从为Access数据库配置的列表中选择ODBC配置,本例为STUDENT。

(4)单击OK按钮,弹出如图所示的SelectDatabaseTables对话框,从中选择要使用的表。

(5)后面的选项可设置成默认,这样工程就建立完毕了。

创建了应用程序外壳后,必须设计用来查看和编辑数据库记录的主窗体。

可使用VisualC++的标准控件来设计窗体。

本设计的主页面如下:

图10

3.2信息查询

查询操作的功能是输入学号,点击查询按钮,就可以弹出新窗口显示出学生的基本信息。

图11

代码如下:

voidCMyView:

:

OnButton1()

{

UpdateData();

CDIALOG1dlg;

m_pSet->Close();//关闭记录集

m_pSet->m_strFilter.Format("sno='%s'",m_snofind);//查询

m_pSet->Open();//打开记录集

intrecCount=m_pSet->GetRecordCount();//返回记录个数

if(recCount==0)

{

MessageBox("没有匹配的记录!

","查找",MB_ICONWARNING);

m_pSet->Close();

m_pSet->m_strFilter="";

m_pSet->Open();

}

else

{

dlg.m_sno1=m_pSet->m_sno;

dlg.m_name1=m_pSet->m_name;

dlg.m_sex1=m_pSet->m_sex;

dlg.m_age1=m_pSet->m_age;

dlg.m_dept1=m_pSet->m_dept;

UpdateData(FALSE);

dlg.DoModal();

}

//TODO:

Addyourcontrolnotificationhandlercodehere

}

3.3添加操作

添加操作是在点击添加按钮后,添加记录窗口跳出,在新窗口输入要添加的记录,点击确定按钮后,如果该学生的信息已存在(以学号判断),则提醒该学生信息已存在,如果添加成功,则跳出添加成功提示。

如图:

图12

voidCMyView:

:

OnButton2()

{

CRECADDdlg;

if(dlg.DoModal()==IDOK)

{

m_pSet->AddNew();

m_pSet->m_sno=dlg.m_sno2;

m_pSet->m_name=dlg.m_name2;

m_pSet->m_sex=dlg.m_sex2;

m_pSet->m_age=dlg.m_age2;

m_pSet->m_dept=dlg.m_dept2;

m_pSet->Update();

m_pSet->Requery();

}

}

3.4修改操作

修改操作是在主页面输入要修改的学生信息的学号(在查询条件处输入),点击修改按钮,跳出修改窗口,在窗口中会显示该学生现有的信息,将其修改后点击确定按钮。

图13

voidCMyView:

:

OnButton3()

{

//TODO:

Addyourcontrolnotificationhandlercodehere

CRECEDITdlg;

dlg.m_sno3=m_pSet->m_sno;

dlg.m_name3=m_pSet->m_name;

dlg.m_sex3=m_pSet->m_sex;

dlg.m_age3=m_pSet->m_age;

dlg.m_dept3=m_pSet->m_dept;

if(dlg.DoModal()==IDOK)

{

m_pSet->Edit();

m_pSet->m_sno=dlg.m_sno3;

m_pSet->m_name=dlg.m_name3;

m_pSet->m_sex=dlg.m_sex3;

m_pSet->m_age=dlg.m_age3;

m_pSet->m_dept=dlg.m_dept3;

m_pSet->Update();

UpdateData(FALSE);

}

}

3.5删除操作

删除操作是点击删除按钮后,跳出删除窗口,在提示后确认无误后删除。

图14

图15

voidCMyView:

:

OnButton4()

{

//TODO:

Addyourcontrolnotificationhandlercodehere

CRECDELdlg;

dlg.m_sno4=m_pSet->m_sno;

dlg.m_name4=m_pSet->m_name;

dlg.m_sex4=m_pSet->m_sex;

dlg.m_age4=m_pSet->m_age;

dlg.m_dept4=m_pSet->m_dept;

if(dlg.DoModal()==IDOK)

{

if(MessageBox("真的要删除该记录吗?

","删除记录",MB_YESNO|MB_ICONQUESTION)==IDYES)

{

m_pSet->Delete();

m_pSet->MovePrev();//移动到上一条记录

UpdateData(FALSE);

}

}

}

3.6浏览操作

在主页面,添加了一个学生信息浏览按钮,点击该按钮会在跳出的窗口中显示学生信息表,该表与数据库中的学生信息表连接,这样可以通过浏览该表来查看自己的删除,修改和添加等操作是否完成,同时可以通过它查看自己不熟悉学号的学生信息。

这个操作应用了ADOData控件和DataGrid控件,通过ADOData控件连接数据表,DataGrid控件连接ADOData控件后显示数据表。

图16

点击主页面的浏览按钮,显示窗口,程序如下:

voidCMyView:

:

OnButton5()

{

//TODO:

Addyourcontrolnotificationhandlercodehere

CADODataDlgdlg;

dlg.DoModal();

}

为对话框类CADODataDlg添加OnInitDialog()函数,用于设置ADOData控件的数据源和DataGrid控件的列宽度。

代码如下:

BOOLCADODataDlg:

:

OnInitDialog()

{

CDialog:

:

OnInitDialog();

//TODO:

Addextrainitializationhere

//设置ADOData控件的数据源,将列名用汉字显示

m_adodc.SetRecordSource("SelectsnoAS学号,nameAS姓名,sexAS性别,ageAS年龄,deptAS专业FROMSTUDENT");

m_adodc.Refresh();//刷新结果集的内容

//设置列宽度

_variant_tvIndex;

vIndex=long(0);//将整型值转换为_variant_t类型

m_datagrid.GetColumns().GetItem(vIndex).SetWidth(30);

vIndex=long

(1);

m_datagrid.GetColumns().GetItem(vIndex).SetWidth(100);

vIndex=long

(2);

m_datagrid.GetColumns().GetItem(vIndex).SetWidth(50);

vIndex=long(3);

m_datagrid.GetColumns().GetItem(vIndex).SetWidth(50);

vIndex=long(4);

m_datagrid.GetColumns().GetItem(vIndex).SetWidth(60);

vIndex=long(5);

m_datagrid.GetColumns().GetItem(vIndex).SetWidth(100);

returnTRUE;//returnTRUEunlessyousetthefocustoacontrol

}

4.调试报告

在程序编写过程中,建立新窗口时总是爱忘掉包含新窗口的头文件。

建立的新控件总是忘了添加类,导致出现一些错误。

5.心得体会

设计过程中,对MFC进行可视化程序的设计有了基本的认识。

对数据库有了新的认识,对数据库的连接也有了基本的了解。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 调查报告

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1