教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 学前教育 >

C++ 实验五总结报告

来源:网络收集 时间:2026-08-15
导读: 实验十三 数据库(1) 实验目的和要求 对于大量数据处理,采用数据库更为安全简便。例如,对于学生信息管理系统,常常需要处理学生的基本信息、课程成绩以及课程信息等,这些信息用数据库表的形式来描述更为清晰。本实验将在列表视图的显示视图中显示学生的

实验十三 数据库(1)

实验目的和要求

对于大量数据处理,采用数据库更为安全简便。例如,对于学生信息管理系统,常常需要处理学生的基本信息、课程成绩以及课程信息等,这些信息用数据库表的形式来描述更为清晰。本实验将在列表视图的显示视图中显示学生的基本信息内容。

(1)用Microsoft Access 2003创建一个数据库main.mdb,含有4个数据表:学生基本信息表student、课程信息表course、课程成绩表score和专业数据表special(具体表结构见教材附录),并建立ODBC联接。

(2)创建学生课程成绩表score的CRecordSet派生类CScoreSet。

(3)在主菜单中添加“课程成绩(&S)”顶层菜单,在该菜单添加“添加(&A)”、“删除(&D)”和“修改(&C)”子菜单。

(4)选择“添加”菜单命令,弹出“学生课程成绩”对话框,单击“添加”按钮,在score表中添加一条记录,并自动更新列表视图显示的内容。如图9.1所示。

图9.1 学生课程信息输入及显示

图9.2 学生课程信息修改及显示

(5)当选定列表视图中的某个列表项后,选择“删除”菜单命令,弹出消息对话框,询问是否确认删除,单击“确定”后,当前选择的列表项所在的数据表记录被删除,并自动更新列表视图显示的内容。 (6)当选定列表视图中的某个列表项后,选择“修改”菜单命令,弹出“学生课程成绩”对话框,对话框的内容就是当前选择的列表项中的内容,修改后,单击“修改”按钮,当前选择的列表项所在的数据表记录被修改,并自动更新列表视图显示的内容。如图9.2所示。

实验准备和说明

(1)具备知识:MFC的ODBC常用编程。

(2)创建本次实验工作文件夹“…\\Visual C++程序\\实验\\实验9”。 (3)创建数据库所在的文件夹“…\\Visual C++程序\\实验\\实习”。

实验内容和步骤

1.创建数据库和数据表

这里以Microsoft Access 2003为例说明数据库和数据表的创建过程。 ②?? 启动Microsoft Access 2003。

② 选择“文件”→“新建”菜单,在右边任务窗格中单击“空数据库”,弹出一个对话框,将文件路径指定到“…\\Visual C++程序\\实验\\实习”,指定数据库名main.mdb。单击“创建”按钮,出现如图9.3所示的数据库设计窗口。

1

图9.3 数据库设计窗口 图9.4 表设计界面

③ 双击“使用设计器创建表”,出现如图9.4所示的表设计界面。其中,单击数据类型框的下拉按钮,可在弹出的列表中选择适当的数据类型。在下方的常规页面中可以设置字段大小、格式等内容。 ④ 按表9.1添加字段名和数据类型,关闭表设计界面,弹出一个消息对话框,询问是否保存刚才设计的数据表,单击“是(Y)”按钮,出现如图9.5所示的对话框,在表名称中输入score,单击““确定”按钮。此时出现一个消息对话框,用来询问是否要为表创建主关键词,单击[否(N)”按钮。注意:若单击“是(Y)”按钮,则系统会自动为表添加另一个字段ID。

表9.1 学生课程成绩表(score)结构

序 号 1 2 3 4 字 段 名 称 studentno course score credit 数 据 类 型 文本 文本 数字 数字 字 段 大 小 8 7 单精度 单精度 小 数 位 1 1 字 段 含 义 学号 课程号 成绩 学分 ⑤ 在数据库设计窗口中,双击score表,就可向数据表输入记录数据。如图9.6是记录输入的结果。

图9.5 保存数据表 图9.6 在score表中添加的记录

⑥ 按照上面的过程,添加学生基本信息表student、课程信息表course和专业数据表special,并输入如图9.7所示的记录。

图9.7 各数据表添加的记录

2

⑦ 关闭Microsoft Access 2003。 2.创建ODBC数据源

① 运行ODBC组件,进入ODBC数据源管理器。 ② 单击“添加”按钮,弹出有一驱动程序列表的“创建新数据源”对话框,在该对话框中选择Microsoft Access Driver。

③ 单击“完成”按钮,进入指定驱动程序的安装对话框,数据源名称设为“学生信息管理系统”,单击“选择”按钮将本实验中的main.mdb数据库。

④ 单击“确定”按钮,刚才创建的用户数据源被添加在“ODBC数据源管理器”的“用户数据源”列表中。

3.启动Visual C++ 6.0 启动Visual C++ 6.0系统。

4.创建单文档应用程序Ex_Student

① 用MFC AppWizard创建一个单文档应用程序Ex_Student,在向导的第六步将CEx_StudentView的基类由CView改为CListView。

② 在CEx_StudentView::PreCreateWindow函数添加下列代码,用来设置列表视图内嵌列表控件的风格:

BOOL CEx_StudentView::PreCreateWindow(CREATESTRUCT& cs) { }

cs.style |= LVS_REPORT;

// 报表风格

return CListView::PreCreateWindow(cs);

5.为数据表创建CRecordSet用户派生类

① 在Ex_Student中添加学生基本信息表student、课程信息表course、课程成绩表score和专业数据表special的CRecordSet派生类CStudentSet、CCourseSet、CScoreSet和CSpecialSet。

② 在stdafx.h文件中添加CRecordSet头文件包含#include 。 6.复制“学生课程成绩”对话框和CScoreDlg类 ① 复制对话框资源IDD_SCORE。

② 复制对话框类文件Score.h和Score.cpp,并添加到工程中。

③ 将Score.cpp文件前面的头文件包含#include \修改为#include \。 7.实现添加、删除和修改功能

① 打开菜单资源IDR_MAINFRAME,添加“课程成绩(&S)”顶层菜单,在该菜单添加“添加(&A)”(ID_SCORE_ADD)、“删除(&D)”(ID_SCORE_DEL)和“修改(&C)”(ID_SCORE_CHANGE)子菜单。

② 在CEx_StudentView类添加成员函数DeleteAllColumn,用来删除列表视图的标题头,以便能再创建标题头显示不同的信息。

void CEx_StudentView::DeleteAllColumn() {

CListCtrl& m_ListCtrl = GetListCtrl();

int nCount = 0;

CHeaderCtrl* pHeaderCtrl = m_ListCtrl.GetHeaderCtrl(); if ( pHeaderCtrl!= NULL) nCount = pHeaderCtrl->GetItemCount(); for (int i=0;i < nCount;i++)

m_ListCtrl.DeleteColumn(0);

3

}

③ 在CEx_StudentView类添加成员函数DispScoreInfo,用来显示课程成绩信息。

void CEx_StudentView::DispScoreInfo(CString strFilter) { }

DeleteAllColumn();

// 删除表头

CListCtrl& m_ListCtrl = GetListCtrl();

CString strHeader[]={\学号\课程号\成绩\学分\

for (int nCol=0; nCol

sSet.m_strFilter = strFilter;

sSet.m_strSort = \sSet.Open(); int nItem = 0;

CString str;

while (!sSet.IsEOF()) { m_ListCtrl.InsertItem( nItem, sSet.m_ …… 此处隐藏:3303字,全部文档内容请下载后查看。喜欢就下载吧 ……

C++ 实验五总结报告.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/595322.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)