学生信息管理C++连接ODBC与ACCESS文档格式.docx
《学生信息管理C++连接ODBC与ACCESS文档格式.docx》由会员分享,可在线阅读,更多相关《学生信息管理C++连接ODBC与ACCESS文档格式.docx(12页珍藏版)》请在冰豆网上搜索。
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;
UpdateData(TRUE);
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;
Update();
//新记录写入数据库的数据表
Requery();
//刷新记录集。
这将改动"
物理"
数据库。
MessageBox("
添加成功"
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())
);
else
{tag=MessageBox(info,"
要修改如下记录:
};
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控件后显示数