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)在控件列
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
中,查找并选择MicrosoftADODataControls6.0(OLEDB),如图11.1所示。如果在列表中没有此选项,请下载并安装VisualBasic6.0的升级补丁(VS6SP5)。(3)单击“确定”按钮,可以看到ADOData控件的图标出现在“工具箱”中,如图11.2所示。ADOData控件的常用属性BOFConnectionStringConnectionTimeoutEOFMaxRecordsModePasswordRecordsetRecordSource、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控件常用属性BoundColumnBoundTextDataFieldDataSourceListFieldRowSourceSelectedItem示例程序此工程包含一个窗体FormMain,窗体中包含了一个ADOData控件、一个DataCombo控件和一个DataList控件。DataCombo控件和DataList控件分别显示表Users中所有的用户名称。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=orcl"UserID表示访问数据库的用户名,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,OptionsConnectionString是连接字符串。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对象当前记录的序号位置。BOF、EOF属性:BOF指示当前记录位置位于Recordset对象的第一个记录之前。EOF指示当前记录位置位于Recordset对象的最后一个记录之后。MaxRecord属性:指定通过查询返回Recordset的记录的最大数目。例如只需要返回前10条记录时,可以将MaxRecord属性设置为10。RecordCount属性:返回Recordset对象中记录的当前数目。常用方法Move方法:在记录集中移动指针。MoveFirst、MoveLast、MoveNext和MovePrevious方法:在指定的Recordset对象中移动到第一个、最后一个、下一个或前一个记录并使该记录成为当前记录。Open方法使用Open方法可打开代表基本表、查询结果或者以前保存的Recordset中记录的游标。Open方法的语法如下:recordset.OpenSource,ActiveConnection,CursorType,LockType,OptionsSource是记录源,它可以是一条SQL语句、一个表或一个存储过程等。ActiveConnection指定相应的Connection对象。CursorType指定打开Recordset时使用的游标类型。LockType指定打开Recordset时应该使用的锁定类型。Options指定Source参数的类型。Open方法中Cursor属性的值常量说明adOpenForwardOnly(默认值)打开仅向前类型游标adOpenKeyset打开键集类型游标adOpenDynamic打开动态类型游标adOpenStatic打开静态类型游标Open方法中Options属性的值常量说明adCmdText将Source视为命令adCmdTable生成SQL查询从在Source中命名的表中返回所有行adCmdTableDirect直接从在Source中命名的表中返回所有行adCmdStoredProc将Source视为存储过程adCmdUnknownSource参数中的命令类型为未知adCmdFile从在Source中命名的文件中恢复保留(保存的)Recordset11.3.4Field对象Field对象代表使用普通数据类型的数据的列,它的常用属性和方法如下。ActualSize属性:指示字段的值的实际长度。DefinedSize属性:指示Field对象所定义的大小。Name属性:指示对象的名称。Value属性:指示对象的值。演讲完毕,谢谢观看!