学生信息管理C++连接ODBC与ACCESSWord文件下载.docx
- 文档编号:21350535
- 上传时间:2023-01-29
- 格式:DOCX
- 页数:13
- 大小:250.10KB
学生信息管理C++连接ODBC与ACCESSWord文件下载.docx
《学生信息管理C++连接ODBC与ACCESSWord文件下载.docx》由会员分享,可在线阅读,更多相关《学生信息管理C++连接ODBC与ACCESSWord文件下载.docx(13页珍藏版)》请在冰豆网上搜索。
2数据库设计
2.1概念设计
根据设计要求,学生有五个元素,分别为学号,姓名,性别,年龄,性别和系别,其中学号是主键。
由以上分析可以得该系统的E-R关系图:
图1E-R关系图
2.2物理结构的设计
根据概念设计中的E-R图,可设计出如下表:
在ACCESS中定义表的物理结构如下:
图2学生信息表物理结构
2.3数据库的输入
在ACCESS中定义好物理结构后就可以输入数据,具体数据如下:
图3学生信息表
3程序设计
根据设计要求,本系统是利用VC来开发可视化界面,因此要将程序和数据库进行连接,这要使用ODBC工具将数据库设置数据源,在建立工程时选择数据库查看使用文件支持,在选择数据源时选择自己设置的数据源即可。
在主页面,连接学生信息表,在主页面对学生信息表操作就非常方便。
主页面如下:
图4主页面
3.1查询操作
查询操作的功能是输入学号,点击查询按钮,就可以显示出学生的基本信息。
图5查询操作
查询代码如下:
voidCScore_managementView:
:
OnBUTTONQuery()
{
intflag=1,t=0;
m_pSet->
MoveFirst();
UpdateData(TRUE);
if(m_Sno.IsEmpty()){MessageBox("
学号不能为空"
"
学生管理系统"
0);
flag=0;
}
while(flag==1)
{
CStringinfo="
\0"
;
info="
学号:
\t"
+m_pSet->
m_sno+"
\n"
info+="
姓名:
m_sn+"
性别:
m_sex+"
年龄:
m_age+"
系别:
m_dept+"
if(m_Sno==m_pSet->
m_sno)
{MessageBox(info,"
查询到的记录如下:
"
100);
flag=0;
t=0;
}
else{t=1;
MoveNext();
if(m_pSet->
IsEOF()){flag=0;
}
if(t==1){MessageBox("
你输入的学号不存在"
0);
}
3.2添加操作
添加操作是在点击添加按钮后,添加记录窗口跳出,在新窗口输入要添加的记录,点击确定按钮后,如果该学生的信息已存在(以学号判断),则提醒该学生信息已存在,如果添加成功,则跳出添加成功提示。
如图:
图6添加操作
添加代码如下:
OnBUTTONAdd()
{CDlg1dlg;
if(dlg.DoModal()==IDOK)
{//按IDD_DIALOG1的"
OK"
按钮返回之后:
intflag=0;
while(!
m_pSet->
IsEOF())
{if(dlg.m_AddSno==m_pSet->
{flag=1;
MessageBox("
该学生信息已存在"
管理系统"
}
m_pSet->
if(flag==0)
AddNew();
//先执行追加新记录的功能函数AddNew()
m_sno=dlg.m_AddSno;
//给学号、姓名字段赋值:
m_sn=dlg.m_AddSn;
m_sex=dlg.m_AddSex;
m_age=dlg.m_AddAge;
m_dept=dlg.m_AddDept;
m_pSet->
Update();
//新记录写入数据库的数据表
Requery();
//刷新记录集。
这将改动"
物理"
数据库。
添加成功"
0);
}
}
3.3删除操作
删除操作是点击删除按钮后,跳出删除窗口,在删除窗口中输入要删除学生信息的学号以及管理员密码,在多种提示后确认无误后删除,删除后会显示已删除提醒。
图7删除操作
图8学生信息提示图9确认操作提示
在删除操作中,必须输入密码才能进行删除操作,否则提示密码不正确,密码是唯一的,在本系统中,所有密码都是1234。
删除代码如下:
OnBUTTONDelete()
CDlg2dlg;
intflag=1,t=0,flag1=0,flag2=0;
while(flag==1){
if(dlg.m_DleSno==m_pSet->
{flag1=MessageBox(info,"
请确认删除的学生信息:
t=0;
if(dlg.m_Code=="
1234"
){
if(flag1==6){flag2=MessageBox("
确定删除?
100);
if(flag2==6){m_pSet->
MovePrev();
Delete();
MessageBox("
已删除"
else{MessageBox("
密码不正确"
提示"
3.4修改操作
修改操作是在主页面输入要修改的学生信息的学号(在查询条件处输入),点击修改按钮,跳出修改窗口,在窗口中会显示该学生现有的信息,将其修改后点击确定按钮,同样要输入管理员密码,否则提示密码不正确。
在修改后会提示以修改。
图10确认修改操作图11修改操作
修改代码如下:
OnBUTTONModify()
intflag=1,t=0,tag=0;
m_Sno.TrimLeft();
if(m_Sno.IsEmpty())
MessageBox("
);
else
{tag=MessageBox(info,"
要修改如下记录:
else{t=1;
if(m_pSet->
};
CDlg3dlg;
//工作对话框开始的程序:
if(tag==6)
{//
(1)将当前记录的各字段值拷贝到对话框的对应成员变量上:
//激活对话框控件
dlg.m_CSno=m_pSet->
m_sno;
dlg.m_CSn=m_pSet->
m_sn;
dlg.m_CSex=m_pSet->
m_sex;
dlg.m_CAge=m_pSet->
m_age;
dlg.m_CDept=m_pSet->
m_dept;
UpdateData(FALSE);
//控件上的改变显示出来
//
(2)按对话框的"
按钮时返回,返回之后重置数据库该记录的修改值:
dlg.DoModal();
Edit();
m_sno=dlg.m_CSno;
m_sn=dlg.m_CSn;
m_sex=dlg.m_CSex;
m_age=dlg.m_CAge;
m_dept=dlg.m_CDept;
修改成功"
else{MessageBox("
3.5学生信息浏览
在主页面,我添加了一个学生信息浏览按钮,点击该按钮会在跳出的窗口中显示学生信息表,该表与数据库中的学生信息表连接,这样可以通过浏览该表来查看自己的删除,修改和添加等操作是否完成,同时可以通过它查看自己不熟悉学号的学生信息。
图12学生信息表
这个操作应用了RemoteData控件和DataGrid控件,通过RemoteData控件连接数据表,DataGrid控件连接RemoteData控件后显示数据表,通过这两个控件可直接进行数据的添加、删除和修改。
因这些功能已有,所以在本系统中未启用这两个控件的该功能。
4调试报告
软件编写完成后对其进行调试,调试过程中发现自己的程序缺少一些人机交互,例如在删除后应该让用户知道自己的删除操作是否完成,所以在删除完成后应用MessageBox来告知用户删除已完成。
自己的程序在调试是经常出现功能不能执行或不管条件怎样都会执行的情况,检查程序发现,自己的If语句在编写时==写成=,导致程序出现错误。
5心得体会
现在回顾两个星期以前,当一个星期前的现在,当看到老师布置给我们的这些题目时,我们都蒙了,这么难的题目我们怎么可能会编出来啊,我们都表示不满,抗议,可是一切都是徒劳,我们只能尽我们自己最大的努力把程序给写出来,虽然知道这一路肯定是异常的艰苦,但豁出去了。
上网查资料是我们迈开的第一步,看是否有类似的题目,可是泡了几个小时的网吧还是没有,我们失望而回.但是恍然一想,找学姐,学长们传授点经验啊,但是最终还是空手而归.我们真的有点绝望了,但是由于我们此刻有着年轻人的激情,冲动,火力,想了一想,求天求地求人不如求自己,所以我们决定大家在一起共同努力,分配任务去图书馆查找资料.肯定没有现成的,我们只能查相关的函数,经过两三天的努力,我们把框架弄出来了,可是还有计算和闪烁这两大难题摆在我们面前,真的是个难题,自从把框架弄好了以后就没有进展了,眼看几天都快过了,我们那个急啊,可是急也没有用。
我们相信我们几个人总归可以搞定,这是我们可以坚持到现在的信念.后来我们不停地总结过去走过的弯路,回想上课时老师怎么教我们构建一个程序,要想构建一个程序,必须要有一个完整的想法,算法,大概的脑海路径,才能完整地创建一个程序.
现在决定重新分配任务,刚开始大家由于分配任务不合理,所以才出现分散的局面,所以决定重新调整.先集中精力把第一个基础程序变出来再编综合题.第一基础程序还是比较简单,终于工夫不负有心人,我们参照类似程序,改改和添添,终于大功告成,我们欢呼我们雀跃,终于相信我们自己是足够的伟大。
生活就是这样,汗水预示着结果也见证着收获。
劳动是人类生存生活永恒不变的话题。
通过实习,我才真正领略到“艰苦奋斗”这一词的真正含义,我才意识到老一辈电子设计为我们的社会付出。
我想说,设计确实有些辛苦,但苦中也有乐,在如今单一的理论学习中,很少有机会能有实践的机会,但我们可以,而且设计也是一个团队的任务,一起的工作可以让我们有说有笑,相互帮助,配合默契,多少人间欢乐在这里洒下,大学里一年的相处还赶不上这十来天的合作,我感觉我和同学们之间的距离更加近了;
我想说,确实很累,但当我们看到自己所做的成果时,心中也不免产生兴奋;
正所谓“三百六十行,行行出状元”。
我们同样可以为社会作出我们应该做的一切,社会需要我们,我们也可以为社会而工作。
于是我们决定沿着自己的路,执着的走下去。
6参考文献
[1]MichaelR.Groh等.ACCESS2007宝典.人民邮电出版社.2008
[2]罗摩克里希纳科尔基.数据库管理系统原理原理与设计(第三版).清华大学出版社.2004
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 信息管理 C+ 连接 ODBC ACCESS
![提示](https://static.bdocx.com/images/bang_tan.gif)