Windows程序设计报告.docx
- 文档编号:8739856
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:15
- 大小:277.04KB
Windows程序设计报告.docx
《Windows程序设计报告.docx》由会员分享,可在线阅读,更多相关《Windows程序设计报告.docx(15页珍藏版)》请在冰豆网上搜索。
Windows程序设计报告
目录
一课题设计内容、具备的功能;3
二各个类和对话框完成的功能以及各个类添加的成员:
3
1)CTestADOView:
3
2)CStuDlg4
3)CStuModiDlg4
4)CStuFindDlg4
5)CStufindall4
6)IDD_TESTADO_FORM5
7)IDD_DIALOG15
8)IDD_DIALOG25
9)IDD_DIALOG36
10)IDD_DIALOG46
三部分代码实现:
7
1)对部分成员变量初始化:
7
2)添加成员函数OnExecute()7
3)添加消息处理函数8
4)“添加记录”菜单命令消息处理函数9
5)“删除记录”菜单命令消息处理函数9
6)“更新记录”菜单命令消息处理函数10
7)“排序”菜单命令消息处理函数10
8)“查找”菜单命令消息处理函数10
9)综合查询菜单消息处理函数11
四程序设计过程、调试中过程中所用的测试用例、测试方法,程序运行的结果:
11
1)数据库student表:
11
2)连接数据表12
3)显示记录12
4)添加记录13
5)删除记录13
6)更新记录14
7)排序14
8)查找15
9)综合查询15
五:
课程设计的体会和收获:
15
一课题设计内容、具备的功能;
[设计内容]:
系统存储以下信息:
1)学生基本信息;
2)学生的成绩;
[系统功能]
1)在VC中设计对话框及菜单,将对话框控件DataGrid与Access数据库表student相连,实现VC中的操作对数据表进行修改。
2)显示记录连接数据库显示学生信息;
3)添加记录添加学生信息;
4)删除记录删除当前记录;
5)更新记录输入系别修改新值;
6)排序以学号关键字对学生数据排序;
7)查找输入系别查找
8)综合查询通过学号、年龄、语文、数学、英语、总分等查找条件进行综合查询。
二各个类和对话框完成的功能以及各个类添加的成员:
1)CTestADOView:
CTestADOView,在此类中添加成员函数用来完成数据库中的一些公共功能。
添加的成员变量有
intm_yingyu;英语成绩
intm_shuxue;数学成绩
intm_yuwen;语文成绩
CStringm_department;系别
intm_age;年龄
CStringm_sex;性别
CStringm_name;姓名
CStringm_strSQL;对数据库操作的SQL语句
CDataGridm_DataGrid;与控件DataGrid关联
_RecordsetPtrm_Recordset;打开记录集
_ConnectionPtrm_Connection;连接数据源
2)CStuDlg
CStuDlg,添加学生信息对话框连接类,成员变量有:
CStringm_number1;学号
CStringm_name1;姓名
CStringm_sex1;性别
Intm_age1;年龄
CStringm_department1;系别
Intyuwen1;语文
Intshuxue1;数学
Intyingyu1;英语
3)CStuModiDlg
CStuModiDlg,修改记录对话框连接类。
通过输入旧值及新值修改系别。
成员变量有:
CStringm_olddepart;系别旧值
CStringm_newdepart;系别新值
4)CStuFindDlg
CStuFindDlg,查找对话框连接类。
通过输入系别进行查找。
成员变量有:
CStringm_find;输入系别
5)CStufindall
CStufindall,综合查询对话框连接类。
通过各种条件的筛选,对学生数据及成绩进行查询。
成员变量有:
CStringm_number1;学号
CStringm_name1;姓名
CStringm_sex1;性别
Intm_age1;年龄
CStringm_department1;系别
Intyuwen1;语文
Intshuxue1;数学
Intyingyu1;英语
6)IDD_TESTADO_FORM
主对话框,用于连接数据表及显示学生信息。
7)IDD_DIALOG1
添加学生信息及成绩对话框,点击菜单的添加记录显示的对话框。
8)IDD_DIALOG2
修改系别对话框,点击菜单中的修改记录时显示的对话框。
9)IDD_DIALOG3
查找系别对话框,点击菜单中的查找记录时显示的对话框。
10)IDD_DIALOG4
综合查询对话框,点击菜单中的按条件查找时,通过下拉控件选择条件进行查询。
三部分代码实现:
1)对部分成员变量初始化:
CTestADOView:
:
CTestADOView()
:
CFormView(CTestADOView:
:
IDD)
{
m_strSQL=_T("");
m_stuid=_T("");
m_name=_T("");
m_sex=_T("");
m_age=0;
m_department=_T("");
m_yuwen=0;
m_shuxue=0;
m_yingyu=0;
}
2)添加成员函数OnExecute()
添加成员函数,用来完成数据库操作中的一些公共功能
voidCTestADOView:
:
OnExecute()
{
try
{
m_Recordset.CreateInstance(__uuidof(Recordset));
UpdateData(TRUE);
m_Connection->CursorLocation=adUseClient;
m_Recordset->Open(m_strSQL.GetBuffer(0),m_Connection.GetInterfacePtr(),adOpenDynamic,
adLockOptimistic,adCmdText);
}
catch(_com_error&e)
{
MessageBox(e.Description());
}
catch(...){}
m_DataGrid.SetRefDataSource((LPUNKNOWN)m_Recordset);
m_DataGrid.Refresh();
UpdateData(FALSE);
}
3)添加消息处理函数
voidCTestADOView:
:
OnConnect()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
UpdateData(TRUE);
try
{
m_Connection.CreateInstance(__uuidof(Connection));
m_Recordset.CreateInstance(__uuidof(Recordset));
strConnect="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=StudentDB.mdb;JetOLEDB:
DataBasePassword=123456";
m_Connection->Open(strConnect,"","",adConnectUnspecified);
MessageBox("已连接到数据库StudentDB!
");
}
catch(_com_error&e)
{
MessageBox(e.Description());
}
catch(...){}
UpdateData(FALSE);
}
4)“添加记录”菜单命令消息处理函数
voidCTestADOView:
:
OnRecordAdd()
{
//TODO:
Addyourcommandhandlercodehere
CStuDlgdlg;
CStringstr,str1,str2,str3;
if(dlg.DoModal()!
=IDOK)return;
m_stuid=dlg.m_number1;
m_name=dlg.m_name1;
m_sex=dlg.m_sex1;
m_age=dlg.m_age1;
m_department=dlg.m_department1;
m_yuwen=dlg.m_yuwen1;
m_shuxue=dlg.m_shuxue1;
m_yingyu=dlg.m_yingyu1;
str.Format("%d",m_age);
str1.Format("%d",m_yuwen);
str2.Format("%d",m_shuxue);
str3.Format("%d",m_yingyu);
m_strSQL="insertintostudent(学号,姓名,性别,年龄,系别,语文,数学,英语,总分)values('"+m_stuid+"','"+m_name+"','"+m_sex+"',"+str+",'"+m_department+"',"+str1+","+str2+","+str3+","+str1+"+"+str2+"+"+str3+")";
OnExecute();
OnRecordDisp();
}
5)“删除记录”菜单命令消息处理函数
voidCTestADOView:
:
OnRecordDel()
{
//TODO:
Addyourcommandhandlercodehere
try
{
if(MessageBox(NULL,"确认要删除当前记录吗?
",MB_YESNO)==IDYES)
{
m_Recordset->Delete(adAffectCurrent);
m_Recordset->MoveFirst();
m_Recordset->Update();
m_Recordset->MoveNext();
if(m_Recordset->adoEOF)
m_Recordset->MoveLast();
}
}
catch(_com_error&e)
{
MessageBox(e.Description());
}
catch(...){}
}
6)“更新记录”菜单命令消息处理函数
voidCTestADOView:
:
OnRecordModi()
{
//TODO:
Addyourcommandhandlercodehere
CStuModiDlgdlg;
CStringstrold,strnew;
if(dlg.DoModal()!
=IDOK)return;
strold=dlg.m_olddepart;
strnew=dlg.m_newdepart;
UpdateData(TRUE);
m_strSQL="updatestudentset系别='"+strnew+"'where系别='"+strold+"'";
OnExecute();
OnRecordDisp();
}
7)“排序”菜单命令消息处理函数
voidCTestADOView:
:
OnRecordSort()
{
//TODO:
Addyourcommandhandlercodehere
UpdateData(TRUE);
m_strSQL="select*fromstudentorderby学号";
OnExecute();
}
8)“查找”菜单命令消息处理函数
voidCTestADOView:
:
OnRecordFind()
{
//TODO:
Addyourcommandhandlercodehere
CStuFindDlgdlg;
if(dlg.DoModal()!
=IDOK)return;
m_department=dlg.m_find;
UpdateData(TRUE);
m_strSQL="select*fromstudentwhere系别='"+m_department+"'";
OnExecute();
}
9)综合查询菜单消息处理函数
voidCTestADOView:
:
OnRecordFindall()
{
//TODO:
Addyourcommandhandlercodehere
CStufindalldlg;
if(dlg.DoModal()!
=IDOK)return;
UpdateData(true);
m_strSQL="select*fromstudentwhere"+dlg.m_comb+">="+dlg.m_value1+"and"+dlg.m_comb+"<="+dlg.m_value2+"";
OnExecute();
}
四程序设计过程、调试中过程中所用的测试用例、测试方法,程序运行的结果:
1)数据库student表:
2)连接数据表
3)显示记录
4)添加记录
5)删除记录
6)更新记录
7)排序
8)查找
9)综合查询
五:
课程设计的体会和收获:
VC++是一款让人很喜欢的软件,我们通过自己设计菜单页面等等,做了以前我们身为使用者没有使用过的东西。
虽然我们现在学的知识很基础很表面的东西,以后还需要更加深入的学习这一方面的知识。
我想我会很有兴趣的。
在这一次的大作业课程实验中,我们不仅使用VC制作了菜单,学会使用了对话框的设计等等,还学会了VC和数据库相连,通过DataGrid控件来显示数据信息。
这一次的大作业是我们一直以来实验课学习的总结,也让我再一次系统的学习了VC++。
在连接数据库设计VC各个类时,还是遇到了很多问题。
但是我相信,只要我一直都对学习这一方面的知识报以极大的热情,就一定会好好学习,攻克这些困难,一定会越学越好的。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Windows 程序设计 报告