oracle实验7.docx
- 文档编号:11198178
- 上传时间:2023-02-25
- 格式:DOCX
- 页数:12
- 大小:170.47KB
oracle实验7.docx
《oracle实验7.docx》由会员分享,可在线阅读,更多相关《oracle实验7.docx(12页珍藏版)》请在冰豆网上搜索。
oracle实验7
淮海工学院计算机科学系
实验报告书
课程名:
《数据库原理及应用》
题目:
综合实验
班级:
学号:
姓名:
实验目的
1.理解VC++的开发环境。
2.掌握VC++开发数据库应用程序前的准备工作。
3.掌握使用MFCODBC类开发Oracle9i数据库应用程序。
4.掌握使用ADO技术开发Oracle9i数据库应用程序。
实验环境
局域网,Windows2000
实验学时
4学时,必做实验
实验内容
1.使用MFCODBC类开发“学生基本信息管理系统”。
2.使用ADO技术开发“学生综合信息管理系统”。
实验步骤
1、以SYSDBA身份的SYSTEM用户登录SQL*PLUS,输入PL/SQL命令创建用户;
CREATEUSERZHSIDENTIFIEDBYZHS
DEFAULTTABLESPACEUSERSTEMPORARYTABLESPACETEMP
QUERAUNLIMITEDONUSERS;
GRANTDBATOZHS;
2、数据源的配置:
单击“开始”→“控制面板”→“性能和维护”→“管理工具”→“数据源(ODBC)”,即可弹出“ODBC数据源管理器”对话框;
3、在“用户DSN”选项卡中,单击“添加”按钮,弹出“创建新数据源”对话框;
4、在“创建新数据源”对话框中选择“OracleinOrahome92”作为安装数据源的驱动程序,单击“完成”按钮,弹出“OracleODBCDriverConfiguration”对话框;
5、创建应用程序框架:
打开VC++,选择“文件”→“新建”菜单项,建立一个新的工程;
6.单击“确定”按钮,在“MFCAppWizard-step1”对话框中选择应用程序类型为“单个文档”,其它设置不变。
单击“下一个”按钮,在“MFCAppWizard-step2of6”对话框中选中“查看数据库不使用文件支持”。
此时“DataSource…”按钮被激活,如图所示。
7.单击“DataSource…”按钮,出现“DatabaseOptions”对话框,在ODBC下拉列表框中选择已建好的数据源STUDENTDB,如图所示。
8.单击“OK”按钮,出现“OracleODBCDriverConnect”对话框,输入用户ZHS的口令后,单击“OK”按钮,出现“SelectDatabaseTables”对话框,从列表中选择“ZHS.STUDENT”,如图所示。
9. 编译工程,得到如图所示的应用程序初步运行效果
10.为新类加以声明:
工程中的资源相互调用时需要在它们之间进行声明,否则将不可识别。
由于在主对话框中将调用新增的对话框,因此需要在应用程序的主对话框视图文件(因为本应用程序是基本单文档类型的,对于其它类型的工程应在相应文件中进行声明)中对新增对话框资源进行声明。
方法是在视图管理器中选择“FileView”,双击“学生基本信息管理系统View.cpp”,在该文件的开始部分增加新类的声明,如下所示:
#include"stdafx.h"
#include"学生基本信息管理系统.h"
#include"学生基本信息管理系统Set.h"
#include"学生基本信息管理系统Doc.h"
#include"学生基本信息管理系统View.h"
//开始声明
#include"MyDlg1.h"
//结束声明
#ifdef_DEBUG
#definenewDEBUG_NEW
#undefTHIS_FILE
staticcharTHIS_FILE[]=__FILE__;
#endif
编写各命令按钮的过程代码如下:
“第一条”命令按钮的过程代码
voidCMyView:
:
OnButtonfirst()
{//TODO:
Addyourcontrolnotificationhandlercodehere
m_pSet->MoveFirst();
UpdateData(FALSE);}
“下一条”命令按钮的过程代码
voidCMyView:
:
OnButtonnext()
{//TODO:
Addyourcontrolnotificationhandlercodehere
m_pSet->MoveNext();
if(m_pSet->IsEOF())
{MessageBox("已定位在最后一条记录!
");
m_pSet->MovePrev();
UpdateData(FALSE);
return;
}
UpdateData(FALSE);
}
“上一条”命令按钮的过程代码
voidCMyView:
:
OnButtonprev()
{//TODO:
Addyourcontrolnotificationhandlercodehere
m_pSet->MovePrev();
if(m_pSet->IsBOF())
{MessageBox("已定位在第一条记录!
");
m_pSet->MoveNext();
UpdateData(FALSE);
return;
}UpdateData(FALSE);
}
“最后一条”命令按钮的过程代码
voidCMyView:
:
OnButtonlast()
{//TODO:
Addyourcontrolnotificationhandlercodehere
m_pSet->MoveLast();
UpdateData(FALSE);
}
“增加”命令按钮的过程代码
voidCMyView:
:
OnButtonadd()
{//TODO:
Addyourcontrolnotificationhandlercodehere
m_pSet->AddNew();
UpdateData(FALSE);
}
“删除”命令按钮的过程代码
voidCMyView:
:
OnButtondelete()
{//TODO:
Addyourcontrolnotificationhandlercodehere
m_pSet->Delete();
m_pSet->MoveNext();
if(m_pSet->IsEOF())
m_pSet->MoveLast();
if(m_pSet->IsBOF())
m_pSet->SetFieldNull(NULL);
UpdateData(FALSE);
}
“修改”命令按钮的过程代码
voidCMyView:
:
OnButtonupdate()
{//TODO:
Addyourcontrolnotificationhandlercodehere
m_pSet->Edit();
}
“确认更新”命令按钮的过程代码
voidCMyView:
:
OnButtonconfirm()
{//TODO:
Addyourcontrolnotificationhandlercodehere
UpdateData();
m_pSet->Update();
m_pSet->Requery();
}
“查询”命令按钮的过程代码
voidCMyView:
:
OnButtonquery()
{//TODO:
Addyourcontrolnotificationhandlercodehere
CMyDlg1MyDlg1;
MyDlg1.DoModal();
CStringvalue;
if(MyDlg1.DoModal()==IDOK)
{value="SNO="+MyDlg1.m_query+"";
m_pSet->m_strFilter=value;
m_pSet->Requery();
UpdateData(FALSE);
return;
}
}
分析与讨论
1、简述VC++开发数据库应用程序的特点与各种技术。
简述VC++开发数据库应用程序的特点:
(1)简单:
VC++提供了MFC类库、ATL模板类以及AppWizard、ClassWizard等一系列的向导工具用于帮助用户快速建立应用程序,大大简化了应用程序的设计。
使用这些工具,可以使用户编写较少的代码或不需要编写代码就可以开发一个数据库应用程序。
(2)灵活:
VC++提供的集成环境可以使用户根据自己的需要设计应用程序的界面和功能,用户可以结合应用程序的特点自由选择VC++提供的丰富类库和方法。
(3)访问速度快:
VC++提供了基于COM接口的OLE和ADO技术,直接对数据库的驱动程序进行访问,访问数据库快。
(4)扩展性好:
VC++提供了OLE和ActiveX技术,使用户可以利用VC++提供的各种组件、控件及第三方提供的组件来创建自己的应用程序,从而实现应用程序的组件化,保证应用程序的扩展性。
(5)可访问不同类型的数据源:
使用VC++提供的OLE技术,用户不仅可以访问关系型数据库,还可以访问非关系型数据库。
各种技术:
1)ODBCAPIODBC(OpenDataBaseConnectivity,开放数据库互连)是数据库访问的标准接口。
使用这一标准接口,可以使用户不需关心具体DBMS的细节,只需有相应类型的ODBC驱动程序就可以实现对数据库的访问。
2) MFCODBC类直接使用ODBCAPI开发数据库应用程序需要编写大量的代码,所以VC++提供了已封装ODBCAPI的MFCODBC类,使用户从ODBCAPI复杂的编程中解脱出来,能够非常简便地开发数据库应用程序。
3) DAODAO(DataAccessObject)提供了一种通过程序代码创建和操作数据库的机制,专用于访问MicrosoftJet数据库文件(*.mdb)。
4) OLEDB基于COM(ComponentObjectModel)接口的OLEDB(ObjectLinkedandEmbeddedDatabase)是VC++访问数据库的新技术,使用它既可以访问关系型数据库,也可以访问非关系型数据库。
5) ADO:
ADO(ActiveXDataObject)是基于OLEDB的访问技术,继承了OLEDB可以访问关系数据库和非关系数据库的优点,并且对OLEDB的接口作了封装,属于数据库访问的高层接口,使数据库应用程序的开发得到了简化。
2、什么是数据源?
数据源实质上代表着一个特定的数据库,ODBC对不同数据库的使用都是通过对相应数据源进行操作而实现的。
3、MFC类库中常用的MFCODBC类有哪三种?
(1) Cdatabase(数据库类):
提供了对数据源的连接,可以对数据源进行操作。
(2) CrecordSet(记录集类):
以控制的形式显示数据库记录,是直接连到一个CRecordSet对象的表视图。
(3) CrecordView(可视记录集类):
提供了从数据源中提取的记录集,通常使用动态行集(dynasets)和快照集(snapshots)两种形式。
动态行集能保持与数据的更改同步,快照集则是数据的一个静态视图。
4、什么是ADO?
ADO(ActiveXDataObject)是基于OLEDB的访问技术,继承了OLEDB可以访问关系数据库和非关系数据库的优点,并且对OLEDB的接口作了封装,属于数据库访问的高层接口,使数据库应用程序的开发得到了简化。
实验体会
通过本次综合实验,我熟悉了VC++的开发环境,掌握VC++开发数据库应用程序前的准备工作和使用MFCODBC类开发Oracle9i数据库应用程序使用,并掌握了如何使用ADO技术开发Oracle9i数据库应用程序。
不过在实验过程之中还是遇到了一些问题,对所学的知识不能够学以至用是我目前遇到的最大的难题,虽然课本上的知识都能理解,但等到真正投入到实验中时,就会感到很茫然,没有了头绪,我知道这是因为平时练的太少,思想上面也不是很重视实验这个环节,不过现在我已经开始重视实验了,因为学了就是为了会用,不会用就等于没学。
因此在今后的学习中,我会认真的去复习以前的实验,把每一部分的实验都搞懂,把相关的操作都练熟,只有这样才能让我真正的掌握所学的内容,也只有这样才能让我为今后的学习和工作打下良好的基础。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- oracle 实验