Oracle第11章_第1页
Oracle第11章_第2页
Oracle第11章_第3页
Oracle第11章_第4页
Oracle第11章_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 第第11章章 ADO数据访问技术数据访问技术本章知识点本章知识点pADOADO数据模型数据模型p数据库访问控件数据库访问控件p常用常用ADOADO对象对象11.1 ADO数据模型数据模型ADOADO提供执行以下操作方式:提供执行以下操作方式:p 连接到数据源。连接到数据源。p 指定访问数据源的命令,可以在命令中指定参数。通指定访问数据源的命令,可以在命令中指定参数。通常涉及常涉及ADOADO的的CommandCommand对象。对象。p 执行命令,例如一个执行命令,例如一个SELECTSELECT脚本。脚本。p 在适当情况下,可以把缓存行的更改内容写回数据库在适当情况下,可以把缓存行的更改内

2、容写回数据库中,更新数据源。中,更新数据源。p 提供常规方法检测错误(错误通常由建立连接或执行提供常规方法检测错误(错误通常由建立连接或执行命令造成),涉及命令造成),涉及ADOADO的的ErrorError对象对象。ADO编程模型的元素编程模型的元素(1)连接。(2)命令。(3)参数。(4)记录集。(5)字段。(6)错误。(7)属性。(8)集合。(9)事件。ADO支持以下支持以下4种类型的集合种类型的集合 ConnectionConnection对象具有对象具有ErrorsErrors集合,包含响应与数据集合,包含响应与数据源有关的单一错误而创建的所有源有关的单一错误而创建的所有ErrorE

3、rror对象。对象。 CommandCommand对象具有对象具有ParametersParameters集合,包含应用于集合,包含应用于CommandCommand对象的所有对象的所有ParameterParameter对象。对象。 Recordset Recordset对象具有对象具有FieldsFields集合,包含集合,包含RecordsetRecordset对对象中所有列的象中所有列的FieldField对象。对象。 此外,此外,ConnectionConnection、CommandCommand、RecordsetRecordset和和FieldField对对象都具有象都具有Pr

4、opertiesProperties集合,它包含各个对象的集合,它包含各个对象的PropertyProperty对象。对象。ADO支持以下两种事件支持以下两种事件 ConnectionEvents ConnectionEvents。ConnecttionEventsConnecttionEvents事件在以下情况下发生事件在以下情况下发生:p 连接中的事务开始、被提交或被回滚。连接中的事务开始、被提交或被回滚。p 执行命令。执行命令。p 连接的开始或结束。连接的开始或结束。p 此事件用于对连接状态变化的报告。此事件用于对连接状态变化的报告。 RecordsetEvents RecordsetE

5、vents 。RecordsetEventsRecordsetEvents事件在以下情况下发生:事件在以下情况下发生:p 在在RecordsetRecordset对象的行中进行定位。对象的行中进行定位。p 更改记录集行中的字段。更改记录集行中的字段。p 更改记录集中的行。更改记录集中的行。p 在整个记录集中进行更改。在整个记录集中进行更改。11. 2数据库访问控件数据库访问控件pADO DataADO Data控件。控件。pDataListDataList控件。控件。pDataComboDataCombo控件。控件。pDataGridDataGrid控件。控件。11.2.1 ADO Data控

6、件控件(1 1)选择)选择“工程工程”菜单中的菜单中的“部件部件”命令,打开命令,打开“部件部件”属性对话框属性对话框。(2 2)在控件列表中,查找并选择)在控件列表中,查找并选择Microsoft ADO Data Controls 6.0Microsoft ADO Data Controls 6.0(OLEDBOLEDB),如图),如图11.111.1所示。如果在列表中没有此选项,请下载并所示。如果在列表中没有此选项,请下载并安装安装Visual Basic 6.0Visual Basic 6.0的升级补丁(的升级补丁(VS6SP5VS6SP5)。)。(3 3)单击)单击“确定确定”按钮,

7、可以看到按钮,可以看到ADO DataADO Data控件的图标出现在控件的图标出现在“工具工具箱箱”中,如图中,如图11.211.2所示。所示。 ADO Data控件的常用属性控件的常用属性p BOF BOF p ConnectionStringConnectionStringp ConnectionTimeoutConnectionTimeoutp EOFEOFp MaxRecords MaxRecords p ModeModep Password Password p RecordsetRecordsetp RecordSourceRecordSource、p UserNameUserN

8、ame【例例11.1】ADO Data控件的示例程序控件的示例程序 在窗体在窗体FormMainFormMain中使用一个中使用一个ADO DataADO Data控件读取表控件读取表UsersUsers中的中的数据,并通过文本框显示各个字段的数据。单击数据,并通过文本框显示各个字段的数据。单击ADO DataADO Data控控件中的前后移动按钮,可以改变当前记录的位置,文本框的件中的前后移动按钮,可以改变当前记录的位置,文本框的内容也会自动地发生变化。内容也会自动地发生变化。设置主窗体属性设置主窗体属性属性说明(名称)FormMainBorderStyle1 Fixed SingleCap

9、tion显示部门信息StartUpPosition2 屏幕中心设置设置ADO Data控件的属性控件的属性 在窗体在窗体FrmMainFrmMain中添加控件中添加控件ADO DataADO Data,控件名为,控件名为Adodc1Adodc1。右键单击。右键单击ADO DataADO Data控件,选择菜单中的控件,选择菜单中的“ADODCADODC属性属性”命令,打开命令,打开“属性页属性页”窗口,窗口,设置设置ADO控件属性控件属性p在在“连接资源连接资源”选项中选择选项中选择“使用连接字符串使用连接字符串”,然,然后单击后单击“生成生成”按钮,打开按钮,打开“数据链接属性数据链接属性”

10、窗口。窗口。设置设置ADO控件属性控件属性p 选择选择“Oracle Provider for OLE DBOracle Provider for OLE DB”,单击,单击“下一下一步步”按钮,打开按钮,打开“连接连接”页面。设置数据源为页面。设置数据源为orclorcl,然后输入用户名然后输入用户名USERMANUSERMAN和对应的密码。和对应的密码。设置标签和文本框的属性设置标签和文本框的属性控件名属性设置值Label1Caption用户编号:Label2Caption用户名称:Text1DataSourceAdodc1DataFieldUSERIDText空Text2DataSour

11、ceAdodc1DataFieldUSERNAMEText空11.2.2 DataList控件和控件和DataCombo控件控件p 选择选择“工程工程”菜单中的菜单中的“部件部件”命令,打开命令,打开“部件部件”属性对话框属性对话框。在控件列表中,查找并选择。在控件列表中,查找并选择Microsoft DataList Controls Microsoft DataList Controls 6.06.0(OLEDBOLEDB。单击。单击“确定确定”按钮,可以看到按钮,可以看到DataListDataList控件和控件和DataComboDataCombo控件的图标出现在控件的图标出现在“工具

12、箱工具箱”中。中。 DataList控件和控件和DataCombo控件常用控件常用属性属性pBoundColumnBoundColumnpBoundText BoundText pDataFieldDataFieldpDataSource DataSource pListFieldListFieldpRowSourceRowSourcepSelectedItemSelectedItem示例程序示例程序p此工程包含一个窗体此工程包含一个窗体FormMainFormMain,窗体中包含了一个,窗体中包含了一个ADO DataADO Data控件、一个控件、一个DataComboDataCombo控

13、件和一个控件和一个DataListDataList控件。控件。DataComboDataCombo控件和控件和DataListDataList控件分别显示表控件分别显示表UsersUsers中所有的用户名称。中所有的用户名称。 DataCombo 控件 DataList 控件 ADO Data控件的属性控件的属性属性设置值ConnectionStringProvider=OraOLEDB.Oracle.1;Password= U S E R M A N ; P e r s i s t S e c u r i t y Info=True;User ID=USERMAN;Data Source=o

14、rcl(可以由系统自动生成)CursorType2 adOpenDynamicRecordSourceSELECT * FROM Users ORDER BY USERIDVisibleFalseDataCombo控件的属性控件的属性属性设置值RowSourceAdodc1ListFieldUserNameBoundColumnUserIdStyle2 dbcDropdownList(设置组合框的类型,用户只能选择组合框中的数据)DataList控件的属性控件的属性属性设置值RowSourceAdodc1ListFieldUserName11.2.3 DataGrid控件控件p选择选择“工程工

15、程”菜单中的菜单中的“部件部件”命令,打开命令,打开“部件部件”属性对话框。在控件列表中,查找并选择属性对话框。在控件列表中,查找并选择Microsoft Microsoft DataGrid Controls 6.0DataGrid Controls 6.0(OLEDB)OLEDB)。 示例程序示例程序p此工程名为此工程名为DataGridDataGrid,包含两个窗体,一个是使用,包含两个窗体,一个是使用DataGridDataGrid控件显示数据的控件显示数据的FormDataGridFormDataGrid窗体,这也窗体,这也是工程的主窗体;另一个是是工程的主窗体;另一个是FormSh

16、owDataFormShowData窗体,它窗体,它用来演示如何从用来演示如何从DataGridDataGrid控件的表格中读取一行数控件的表格中读取一行数据的具体内容。据的具体内容。 设置主窗体属性设置主窗体属性属性说明(名称)FormMainBorderStyle1 Fixed SingleCaption用户信息表StartUpPosition2 屏幕中心ADO Data控件的属性控件的属性属性设置值ConnectionStringProvider=OraOLEDB.Oracle.1;Password=USERMAN;Persist Security Info=True;User ID=U

17、SERMAN;Data Source=orclCursorType2 adOpenDynamicRecordSourceSELECT * FROM UsersVisibleFalse添加添加DataGrid控件并设置属性控件并设置属性设置列标题和数据字段设置列标题和数据字段列标题数据字段Column 0 用户编号USERIDColumn 1 用户名USERNAMEColumn 2 密码USERPWDFormShowData窗体属性窗体属性 属性说明(名称)FrmShowDataBorderStyle1 Fixed Single Caption显示当前数据StartUpPosition2 屏幕中

18、心FormShowData窗体窗体11.3 常用常用ADO对象对象pConnectionConnection对象对象pCommandCommand对象对象pRecordsetRecordset对象对象pFieldField对象对象 添加引用添加引用 选择菜单选择菜单“工工程程”/ /“引用引用”,打开,打开“引用引用”对话框,在对话框,在引用列表中选中引用列表中选中“Microsoft Activex Microsoft Activex Data Objects 2.6 Data Objects 2.6 LibraryLibrary”(不同环境(不同环境下下ADOADO的版本号可能不的版本号可

19、能不同)同)11.3.1 Connection对象对象p创建创建ConnectionConnection对象的方法如下:对象的方法如下: Dim cnn As New ADODB.ConnectionDim cnn As New ADODB.ConnectionConnectionString属性属性p ConnectionStringConnectionString是连接字符串,指定用于建立连接数是连接字符串,指定用于建立连接数据源的信息。可以使用据源的信息。可以使用ODBCODBC数据源来表示连接字符串,数据源来表示连接字符串,代码如下:代码如下:Dim cnn As New ADODB.

20、ConnectionDim cnn As New ADODB.Connectioncnn.ConnectionString = DSN=mydata; .cnn.ConnectionString = DSN=mydata; .mydatamydata是创建的是创建的ODBCODBC数据源名。数据源名。ConnectionString属性属性p 可以通过直接设置数据源提供者(可以通过直接设置数据源提供者(ProviderProvider)和数据)和数据库文件的方法表示连接字符串,代码如下:库文件的方法表示连接字符串,代码如下: Dim cnn As New ADODB.ConnectionDim

21、 cnn As New ADODB.Connection cnn.ConnectionString = cnn.ConnectionString = Provider=OraOLEDB.Oracle.1;Password=USERMAN;PerProvider=OraOLEDB.Oracle.1;Password=USERMAN;Persist Security Info=True;User ID=USERMAN;Data sist Security Info=True;User ID=USERMAN;Data Source=orcl Source=orcl User IDUser ID表示访

22、问数据库的用户名,表示访问数据库的用户名,PasswordPassword表示密码,表示密码,Data SourceData Source表示数据库实例。表示数据库实例。ConnectionTimeout属性属性pConnectionTimeoutConnectionTimeout属性指示在终止尝试属性指示在终止尝试和产生错误之前执行命令需等待的时间和产生错误之前执行命令需等待的时间,默认值为,默认值为30s30s。Mode属性属性pModeMode属性指定属性指定ConnectionConnection对象修改数据对象修改数据的权限。的权限。常量说明adModeUnknown默认值。表明权限

23、尚未设置或无法确定adModeRead表明权限为只读adModeWrite表明权限为只写adModeReadWrite表明权限为读/写adModeShareDenyRead防止其他用户使用读权限打开连接adModeShareDenyWrite防止其他用户使用写权限打开连接adModeShareExclusive防止其他用户打开连接adModeShareDenyNone防止其他用户使用任何权限打开连接State属性属性pStateState属性返回属性返回ConnectionConnection对象的状态。对象的状态。常量说明adStateClosed默认,指示对象是关闭的adStateOpen

24、指示对象是打开的adStateConnecting指示 Recordset 对象正在连接adStateExecuting指示 Recordset 对象正在执行命令adStateFetching指示 Recordset 对象的行正在被读取Open方法方法pOpenOpen方法用于打开到数据源的连接。方法用于打开到数据源的连接。 connectionconnection.Open .Open ConnectionStringConnectionString, , UserIDUserID, , PasswordPassword, , OptionsOptionspConnectionStringC

25、onnectionString是连接字符串。是连接字符串。pUserIDUserID是访问数据库的用户名。是访问数据库的用户名。pPasswordPassword是密码。是密码。pOptionsOptions是连接选项。是连接选项。Close方法方法pCloseClose方法用于关闭到数据源的连接。访方法用于关闭到数据源的连接。访问数据库完成后,为了节省资源,需要问数据库完成后,为了节省资源,需要将数据库连接关闭。将数据库连接关闭。11.3.2 Command对象对象它的常用属性和方法如下。它的常用属性和方法如下。p ActiveConnectionActiveConnection属性:通过设

26、置属性:通过设置ActiveConnectionActiveConnection属性使打开的连接与属性使打开的连接与CommandCommand对象关联。对象关联。p CommandTextCommandText属性:定义命令(例如属性:定义命令(例如SQLSQL语句)的可执语句)的可执行文本。行文本。p ExecuteExecute方法:执行在方法:执行在CommandTextCommandText属性中指定的查询属性中指定的查询、SQLSQL语句或存储过程。如果语句或存储过程。如果CommandTextCommandText属性指定按属性指定按行返回查询,执行所产生的结果将存储在新的行返回

27、查询,执行所产生的结果将存储在新的RecordsetRecordset对象中。如果该命令不是按行返回查询,则对象中。如果该命令不是按行返回查询,则返回关闭的返回关闭的RecordsetRecordset对象。对象。11.3.3 Recordset对象对象p RecordsetRecordset对象的常用属性和方法如下。对象的常用属性和方法如下。p ActiveConnectionActiveConnection属性:通过设置属性:通过设置ActiveConnectionActiveConnection属性使打开属性使打开的连接与的连接与CommandCommand对象关联。对象关联。p Abs

28、olutePositionAbsolutePosition属性:指定属性:指定RecordsetRecordset对象当前记录的序号位置对象当前记录的序号位置。p BOFBOF、EOFEOF属性:属性:BOFBOF指示当前记录位置位于指示当前记录位置位于RecordsetRecordset对象的第一对象的第一个记录之前。个记录之前。EOFEOF指示当前记录位置位于指示当前记录位置位于RecordsetRecordset对象的最后一对象的最后一个记录之后。个记录之后。p MaxRecordMaxRecord属性:指定通过查询返回属性:指定通过查询返回RecordsetRecordset的记录的最

29、大数目的记录的最大数目。例如只需要返回前。例如只需要返回前1010条记录时,可以将条记录时,可以将MaxRecordMaxRecord属性设置为属性设置为1010。p RecordCount RecordCount 属性:返回属性:返回RecordsetRecordset对象中记录的当前数目。对象中记录的当前数目。常用方法常用方法pMoveMove方法:在记录集中移动指针。方法:在记录集中移动指针。pMoveFirstMoveFirst、MoveLastMoveLast、MoveNextMoveNext和和MovePrevious MovePrevious 方法:在指定的方法:在指定的RecordsetRecordset对象中移动到第一个、最后一对象中移动到第一个、最后一个、下一个或前一个记录并使该记录成个、下一个或前一个记录并使该记录成为当前记录。为当前记录。Open方法方法p 使用使用OpenOpen方法可打开代表基本表、查询结果或者以前方法可打开代表基本表、查询结果或者以前保存的保存的RecordsetRecordset中记录的游标。中记录的游标。OpenOpen方法的语法如下方法的语法如下: recordset.Open recordset.Open SourceSource, , ActiveConnectionActiveConnection

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论