Oracle第11章

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Oracle10g数据库应用教程授课教师:职务:第11章ADO数据访问技术课程描述ADO是目前比较流行的数据库访问技术。它使用更加简单灵活的对象模型,适用于各种程序设计语言。在本书实例中,使用VisualBasic开发的实例就是基于ADO数据访问技术实现的。本章知识点ADO数据模型数据库访问控件常用ADO对象11.1ADO数据模型ADO提供执行以下操作方式:连接到数据源。指定访问数据源的命令,可以在命令中指定参数。通常涉及ADO的Command对象。执行命令,例如一个SELECT脚本。在适当情况下,可以把缓存行的更改内容写回数据库中,更新数据源。提供常规方法检测错误(错误通常由建立连接或执行命令造成),涉及ADO的Error对象。ADO编程模型的元素(1)连接。(2)命令。(3)参数。(4)记录集。(5)字段。(6)错误。(7)属性。(8)集合。(9)事件。ADO支持以下4种类型的集合①Connection对象具有Errors集合,包含响应与数据源有关的单一错误而创建的所有Error对象。②Command对象具有Parameters集合,包含应用于Command对象的所有Parameter对象。③Recordset对象具有Fields集合,包含Recordset对象中所有列的Field对象。④此外,Connection、Command、Recordset和Field对象都具有Properties集合,它包含各个对象的Property对象。ADO支持以下两种事件①ConnectionEvents。ConnecttionEvents事件在以下情况下发生:连接中的事务开始、被提交或被回滚。执行命令。连接的开始或结束。此事件用于对连接状态变化的报告。②RecordsetEvents。RecordsetEvents事件在以下情况下发生:在Recordset对象的行中进行定位。更改记录集行中的字段。更改记录集中的行。在整个记录集中进行更改。11.2数据库访问控件ADOData控件。DataList控件。DataCombo控件。DataGrid控件。11.2.1ADOData控件(1)选择“工程”菜单中的“部件”命令,打开“部件”属性对话框。(2)在控件列表中,查找并选择MicrosoftADODataControls6.0(OLEDB),如图11.1所示。如果在列表中没有此选项,请下载并安装VisualBasic6.0的升级补丁(VS6SP5)。(3)单击“确定”按钮,可以看到ADOData控件的图标出现在“工具箱”中,如图11.2所示。ADOData控件的常用属性BOFConnectionStringConnectionTimeoutEOFMaxRecordsModePasswordRecordsetRecordSource、UserName【例11.1】ADOData控件的示例程序在窗体FormMain中使用一个ADOData控件读取表Users中的数据,并通过文本框显示各个字段的数据。单击ADOData控件中的前后移动按钮,可以改变当前记录的位置,文本框的内容也会自动地发生变化。设置主窗体属性属性说明(名称)FormMainBorderStyle1–FixedSingleCaption显示部门信息StartUpPosition2–屏幕中心设置ADOData控件的属性在窗体FrmMain中添加控件ADOData,控件名为Adodc1。右键单击ADOData控件,选择菜单中的“ADODC属性”命令,打开“属性页”窗口,设置ADO控件属性在“连接资源”选项中选择“使用连接字符串”,然后单击“生成”按钮,打开“数据链接属性”窗口。设置ADO控件属性选择“OracleProviderforOLEDB”,单击“下一步”按钮,打开“连接”页面。设置数据源为orcl,然后输入用户名USERMAN和对应的密码。设置标签和文本框的属性控件名属性设置值Label1Caption用户编号:Label2Caption用户名称:Text1DataSourceAdodc1DataFieldUSERIDText空Text2DataSourceAdodc1DataFieldUSERNAMEText空11.2.2DataList控件和DataCombo控件选择“工程”菜单中的“部件”命令,打开“部件”属性对话框。在控件列表中,查找并选择MicrosoftDataListControls6.0(OLEDB。单击“确定”按钮,可以看到DataList控件和DataCombo控件的图标出现在“工具箱”中。DataList控件和DataCombo控件常用属性BoundColumnBoundTextDataFieldDataSourceListFieldRowSourceSelectedItem示例程序此工程包含一个窗体FormMain,窗体中包含了一个ADOData控件、一个DataCombo控件和一个DataList控件。DataCombo控件和DataList控件分别显示表Users中所有的用户名称。DataCombo控件DataList控件ADOData控件的属性属性设置值ConnectionStringProvider=OraOLEDB.Oracle.1;Password=USERMAN;PersistSecurityInfo=True;UserID=USERMAN;DataSource=orcl(可以由系统自动生成)CursorType2–adOpenDynamicRecordSourceSELECT*FROMUsersORDERBYUSERIDVisibleFalseDataCombo控件的属性属性设置值RowSourceAdodc1ListFieldUserNameBoundColumnUserIdStyle2–dbcDropdownList(设置组合框的类型,用户只能选择组合框中的数据)DataList控件的属性属性设置值RowSourceAdodc1ListFieldUserName11.2.3DataGrid控件选择“工程”菜单中的“部件”命令,打开“部件”属性对话框。在控件列表中,查找并选择MicrosoftDataGridControls6.0(OLEDB)。示例程序此工程名为DataGrid,包含两个窗体,一个是使用DataGrid控件显示数据的FormDataGrid窗体,这也是工程的主窗体;另一个是FormShowData窗体,它用来演示如何从DataGrid控件的表格中读取一行数据的具体内容。设置主窗体属性属性说明(名称)FormMainBorderStyle1–FixedSingleCaption用户信息表StartUpPosition2–屏幕中心ADOData控件的属性属性设置值ConnectionStringProvider=OraOLEDB.Oracle.1;Password=USERMAN;PersistSecurityInfo=True;UserID=USERMAN;DataSource=orclCursorType2–adOpenDynamicRecordSourceSELECT*FROMUsersVisibleFalse添加DataGrid控件并设置属性设置列标题和数据字段列标题数据字段Column0用户编号USERIDColumn1用户名USERNAMEColumn2密码USERPWDFormShowData窗体属性属性说明(名称)FrmShowDataBorderStyle1–FixedSingleCaption显示当前数据StartUpPosition2–屏幕中心FormShowData窗体11.3常用ADO对象Connection对象Command对象Recordset对象Field对象添加引用选择菜单“工程”/“引用”,打开“引用”对话框,在引用列表中选中“MicrosoftActivexDataObjects2.6Library”(不同环境下ADO的版本号可能不同)11.3.1Connection对象创建Connection对象的方法如下:DimcnnAsNewADODB.ConnectionConnectionString属性ConnectionString是连接字符串,指定用于建立连接数据源的信息。可以使用ODBC数据源来表示连接字符串,代码如下:DimcnnAsNewADODB.Connectioncnn.ConnectionString=DSN=mydata;.\mydata是创建的ODBC数据源名。ConnectionString属性可以通过直接设置数据源提供者(Provider)和数据库文件的方法表示连接字符串,代码如下:DimcnnAsNewADODB.Connectioncnn.ConnectionString=Provider=OraOLEDB.Oracle.1;Password=USERMAN;PersistSecurityInfo=True;UserID=USERMAN;DataSource=orclUserID表示访问数据库的用户名,Password表示密码,DataSource表示数据库实例。ConnectionTimeout属性ConnectionTimeout属性指示在终止尝试和产生错误之前执行命令需等待的时间,默认值为30s。Mode属性Mode属性指定Connection对象修改数据的权限。常量说明adModeUnknown默认值。表明权限尚未设置或无法确定adModeRead表明权限为只读adModeWrite表明权限为只写adModeReadWrite表明权限为读/写adModeShareDenyRead防止其他用户使用读权限打开连接adModeShareDenyWrite防止其他用户使用写权限打开连接adModeShareExclusive防止其他用户打开连接adModeShareDenyNone防止其他用户使用任何权限打开连接State属性State属性返回Connection对象的状态。常量说明adStateClosed默认,指示对象是关闭的adStateOpen指示对象是打开的adStateConnecting指示Recordset对象正在连接adStateExecuting指示Recordset对象正在执行命令adStateFetching指示Recordset对象的行正在被读取Open方法Open方法用于打开到数据源的连接。connection.OpenConnectionString,UserID,Password,OptionsConnectionString是连接字符串。UserID是访问数据库的用户名。Password是密码。Options是连接选项。Close方法Close方法用于关闭到数据源的连接。访问数据库完成后,为了节省资源,需要将数据库连接关闭。11.3.2Command对象它的常用属性和方法如下。ActiveConnection属性:通过设置ActiveConnection属性使打开的连接与Command对象关联。CommandText属性:定义命令(例如SQL语句)的可执行文本。Execute方法:执行在CommandText属性中指定的查询、SQL语句或存储过程。如果CommandText属性指定按行返回查询,执行所产生的结果将存储在新的Recordset对象中。如果该命令不是按行返回查询,则返回关闭的Recordset对象。11.3.3Recordset对象Recordset对象的常用属性和方法如下。ActiveConnection属性:通过设置ActiveConnection属性使打开的连接与Command对象关联。AbsolutePosition属性:指定Recordset对象当前记录的序号位

1 / 47
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功