2 3 4 course score credit 文本 数字 数字 7 单精度 单精度 1 1 课程号 成绩 学分 ⑤ 在数据库设计窗口中,双击score表,就可向数据表输入记录数据。
2.创建ODBC数据源
① Windows中的ODBC组件是出现在系统的“控制面板”管理工具中,如图所示。双击ODBC图标,进入ODBC数据源管理器。运行ODBC组件,进入ODBC数据源管理器。
② 单击“添加”按钮,弹出有一驱动程序列表的“创建新数据源”对话框,在该对话框中选择Microsoft Access Driver。
③ 单击“完成”按钮,进入指定驱动程序的安装对话框,数据源名称设为“学生信息管理系统”,单击“选择”按钮将本实验中的数据库。
④ 单击“确定”按钮,刚才创建的用户数据源被添加在“ODBC数据源管理器”的“用户数据源”列表中。
3.创建单文档应用程序
在向导的第2步对话框中加入数据库的支持.选中“数据库查看使用文件支持”项,单击[Data Source]按钮,弹出“Database Options”对话框,从中选择ODBC的数据源“Database Example For VC++”. 保留其他默认选项,单击[OK]按钮,弹出 “Select Database Tables”对话框,从中选择要使用的表score。 单击[OK]按钮,又回到了向导的第2步对话框。单击[完成]按钮。
4. 设计浏览记录界面
在表单视图中添加控件并与表的字段相关联,其步骤如下。
按照图所示的布局,为表单对话框资源模板添加表所示的控件。
35
(2) 按快捷键Ctrl+W,弹出MFC ClassWizard对话框,切换到Member Variables页面,在Class name框中选择CEx_ODBCView,为上述控件添加相关联的数据成员。按快捷键Ctrl+W,弹出MFC ClassWizard对话框,切换到Member Variables页面,在Class name框中选择CEx_ODBCView,为上述控件添加相关联的数据成员。双击IDC_STUNO,在弹出的“Add Member Variable”对话框中的成员变量下拉列表中选择要添加的成员变量名m_pSet->m_studentno,选择后,控件变量的类型将自动设置,m_pSet->m_studentno,选择后,控件变量的类型将自动设置。
按照上一步骤的方法,为表所示的其他控件依次添加相关联的成员变量。
5. 查询记录
(1) 打开Ex_ODBC应用程序的表单资源,添加控件,添加的编辑框ID号设为IDC_EDIT_QUERY,“查询”按钮的ID号设为IDC_BUTTON_QUERY。
(2) 打开MFC ClassWizard对话框,为控件IDC_EDIT_QUERY添加关联变量m_strQuery。 (3)在CEx_ODBCView类中添加按钮控件IDC_BUTTON_QUERY的BN_CLICKED消息映射,并在映射函数中添加代码。
void CMy8_0odbcView::OnButton1()
{ // TODO: Add your control notification handler code here UpdateData(); m_strquery.TrimLeft();
if( m_strquery.IsEmpty())
{this->MessageBox(\学号不能为空\return; }
if (m_pSet->IsOpen())
m_pSet->Close();
m_pSet->m_strFilter.Format(\m_pSet->m_strSort=\course\m_pSet->Open(); if (!m_pSet->IsEOF()) UpdateData(false);
else
MessageBox(\没有要找的学号\}
六、实验运行结果
写出程序的运行结果。
36
实验十四:数据库(2)
一、实验目的与要求
本次实验在实验13的基础上完成进行。完成表中信息的添加、修改、取消修改和删除功能。
二、实验类型
设计型
三、实验原理及说明
掌握表的添加、修改和删除的编程方法。
四、实验仪器
序 号 1 名 称 计算机 主要用途 编写程序 五、实验内容和步骤( 以学生管理为例)
1.修改“学生成绩”对话框
将项目工作区窗口切换到ResourceView页面,按图所示的控件布局,向对话框再添加4个按钮控件。
2.完善代码 增加记录
void CMy8_0odbcView::OnButton2() {
m_pSet->AddNew(); // 在表的末尾增加新记录 m_pSet-> m_studentno = “11044101\输入新的字段值 m_pSet->m_course =\ m_pSet->m_score =78;
m_pSet->m_credit =4;
37
m_pSet->Update(); // 将新记录存入数据库
m_pSet->Requery(); }
删除记录
void CMy8_0odbcView::OnButton3() {
m_pSet->Delete();
m_pSet->MoveNext(); if (m_pSet->IsEOF())
m_pSet->MoveFirst();
m_pSet->Requery(); UpdateData(FALSE); }
修改记录 :
void CMy8_0odbcView::OnButton4() {
m_pSet->Edit(); // 修改当前记录 m_pSet->m_score=100; // 修改当前记录字段值 m_pSet->Update(); // 将修改结果存入数据库 UpdateData(FALSE); }
void CMy8_0odbcView::OnButton4() {
m_pSet->Move(AFX_MOVE_REFRESH); //或 m_pSet->CancelUpdate(); UpdateData(FALSE); }
3. 编译运行并测试。
六、实验运行结果
写出程序的运行结果。
实验十五:动态链接库
一、实验目的与要求
实现一个动态链接库的创建和访问动态链接库的程序。
二、实验类型
验证型
三、实验原理及说明
掌握动态链接库创建和访问方法。
四、实验仪器
38
序 号 1 名 称 计算机 主要用途 编写程序 五、实验内容和步骤
1.启动Visual C++ 6.0
打开计算机,启动Visual C++ 6.0系统。
2、动态链接库的创建 (1)、用MFC Appwizard(dll)创建一个应用程序Ex_DLL,如图15.1,15.2。
图15.1 图15.2
(2)单击“完成”按钮,出现“新建工程信息”对话框,单击“确定”按钮,系统开 始生成DLL应用程序框架。
(3)添加一个对话框。如下图:只需添加一个按钮。双击对话框,为对话框添加类,类名为CMDLG.
.
为按钮编写代码:
void CMDLG::OnButton1() {
MessageBox(\我的动态链接库\
}
(4)在Ex_DLL.cpp文件的最后,添加显示对话框的导出函数ShowDlg,其代码如下: extern \{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
CMDLG dlg; return dlg.DoModal(); }
(5)在Ex_DLL.cpp文件的前面添加类的头文件包含#include \.h\。
(6)编译后,打开 Ex_DLL程中的 Debug目录,可以看到 Ex_DLL.dll、Ex_DLL.lib
39
两个文件。
3、动态链接库的访问
(1) 用MFC AppWizard创建一个默认的单文档应用程序Ex_USEDLL,但在向导的第5步
MFC库设为使用静态链接库,如图15.3所示。
图15.3
(2) 将Ex_DLL工程中的Debug目录中的Ex_DLL.dll、Ex_DLL.lib两个文件复制到Ex_USEDLL工程目录中。
(3)打开stdafx.h文件,添加下列代码; #endif// AFX_ NO_ AFXCMN_ SUPPORT #pragma comment(lib,”EX_DLL.lib”)
extern \
(4) 打开菜单资源IDR_MAINFRAME,添加一个顶层菜单“操作(&O),在该菜单 下添加一个子菜单“测试(&T)”(ID_ OP_TEST)。
(5)用 MFC Classwzard在 CMainFrame类中添加 ID_OP_ TEST菜单的 COMMAND消 息映射,并在消息映射函数中添加下列代码:
VOid CMainFrame::OnopTest() { ShowDlg(); }
(6) 编译运行并测试。
六、实验运行结果
写出程序的运行结果。
40