Vb与数据库编程.ppt
《Vb与数据库编程.ppt》由会员分享,可在线阅读,更多相关《Vb与数据库编程.ppt(50页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第八章 VB与数据库连接数据库访问技术将数据库外部与其通信的过程抽数据库访问技术将数据库外部与其通信的过程抽象化,通过提供访问接口,简化了客户端访问象化,通过提供访问接口,简化了客户端访问数据库的过程。数据库的过程。一、数据库访问技术一、数据库访问技术目前目前WindowsWindows系统上常见的数据库接口包括:系统上常见的数据库接口包括:uODBCODBC(开放数据库互连)(开放数据库互连)uDAODAO(数据访问对象)(数据访问对象)uRDORDO(远程数据对象)(远程数据对象)uOLE DBOLE DB(对象链接嵌入数据库)(对象链接嵌入数据库)uADOADO(ActiveXActiv
2、eX数据对象)数据对象)重点掌握重点掌握ODBC是微软公司开放服务结构中有关数据库的是微软公司开放服务结构中有关数据库的一个组成部分,建立了一组规范,并提供了一组一个组成部分,建立了一组规范,并提供了一组对数据库访问的标准对数据库访问的标准API(应用程序编程接口)。(应用程序编程接口)。这些这些API利用利用SQL来完成大部分任务。来完成大部分任务。1、ODBC一个基于一个基于ODBC的应用程序对数据库的操作的应用程序对数据库的操作不依赖任何不依赖任何DBMS,不直接与,不直接与DBMS打交道,打交道,所有的数据库操作由对应的所有的数据库操作由对应的DBMS的的ODBC驱动程序完成。均可用驱
3、动程序完成。均可用ODBCAPI进行访问。进行访问。最大的优点是以统一的方式处理所有的数据库。最大的优点是以统一的方式处理所有的数据库。应用程序应用程序ODBCAPI(接口接口)驱动程序管理器驱动程序管理器驱动驱动程序程序驱动驱动程序程序驱动驱动程序程序数据源数据源数据源数据源数据源数据源数据库数据库数据库数据库数据库数据库包括用户要访问的数据和与它有关的操作系统、包括用户要访问的数据和与它有关的操作系统、DBMS和访问和访问DBMS使用的网络平台。使用的网络平台。应用程序要访问一个数据库,必须选择应用程序要访问一个数据库,必须选择【控制面板控制面板】|【管理工具管理工具】中的中的“数据源(数
4、据源(ODBC)”管理器注册管理器注册一个数据源,管理器根据数据源提供的数据库位置、一个数据源,管理器根据数据源提供的数据库位置、数据库类型及数据库类型及ODBC驱动程序等信息,建立起驱动程序等信息,建立起ODBC与具体数据库的联系。只要应用程序把数据与具体数据库的联系。只要应用程序把数据源名(源名(datasourcename,DSN)提供给)提供给ODBC,ODBC就能建立起与相应数据库的连接。就能建立起与相应数据库的连接。3、DAODAO(DataAccessObject)是一组)是一组MicrosoftAccess/Jet数据库引擎的数据库引擎的COM自动化接口。自动化接口。DAO直接
5、与直接与Access/Jet数据库通信,通过数据库通信,通过Jet数数据库引擎,据库引擎,DAO也可以同其它数据库进行通信,也可以同其它数据库进行通信,使用使用DAO对对Access数据库访问非常方便。数据库访问非常方便。RDORDO是是Remote Data ObjectRemote Data Object的缩写,最初是作为的缩写,最初是作为ODBC APIODBC API的抽象,为的抽象,为Visual BasicVisual Basic程序员提供的程序员提供的编程对象,因此编程对象,因此RDORDO与与Visual BasicVisual Basic密切相关。密切相关。由于由于RDORD
6、O直接使用直接使用ODBC APIODBC API对远程数据源进行操作对远程数据源进行操作,而不像,而不像DAODAO要经过要经过JetJet引擎,所以,引擎,所以,RDORDO可以为可以为使用关系数据库服务器的应用程序提供很好的性使用关系数据库服务器的应用程序提供很好的性能。能。4、RDO5、OLEDBnOLE DBOLE DB对对ODBCODBC进行了两个方面的扩展:进行了两个方面的扩展:一是提供了一个数据库编程的一是提供了一个数据库编程的OLEOLE接口,即接口,即COMCOM;二是提供了一个可用于关系型和非关系型数据源二是提供了一个可用于关系型和非关系型数据源的接口。的接口。n与与OD
7、BC APIODBC API一样,一样,OLE DB OLE DB 也属于低层的数据库也属于低层的数据库编程接口,编程接口,n利用利用OLE DBOLE DB进行软件开发应该包括两类软件:进行软件开发应该包括两类软件:OLE DBOLE DB客户程序(客户程序(ConsumerConsumer):是使用是使用OLEDB接口的应用程序接口的应用程序.OLE DBOLE DB供应程序(供应程序(ProviderProvider):实现实现OLE DBOLE DB接口并实际与数据库服务器通信的接口并实际与数据库服务器通信的DLL.DLL.6、ADO(ActivexDataObject)ADOADO是
8、目前在是目前在WindowsWindows环境中比较流行的数据库编程环境中比较流行的数据库编程技术。它是建立在技术。它是建立在OLE DBOLE DB底层技术之上的高级编程底层技术之上的高级编程接口。对接口。对OLE DBOLE DB进行了封装。进行了封装。先使用数据库管理系统先使用数据库管理系统(例如:例如:SQL Server)SQL Server)建立好建立好数据库和数据表结构,然后在程序中通过使用数据库和数据表结构,然后在程序中通过使用ADODCADODC数数据库控件据库控件或或引用引用ADOADO对象对象与数据库中的表建立连接,再与数据库中的表建立连接,再通过数据控件通过数据控件(例
9、如:例如:DataGridDataGrid等等)来进行数据库的各种操作。来进行数据库的各种操作。ADO技术有两种方法:技术有两种方法:nADO对象对象nADO控件控件二、二、ADOADO技术详解技术详解nADOADO对象模型定义了一个可编程的分层对象集合,对象模型定义了一个可编程的分层对象集合,主要由三个对象成员主要由三个对象成员ConnectionConnection、CommandCommand和和RecordsetRecordset对象,以及几个集合对象对象,以及几个集合对象ErrorsErrors、ParametersParameters和和FieldsFields等所组成。等所组成。
10、ConnectionConnectionConnectionConnection对象对象对象对象ErrorsErrorsErrorsErrors集合集合集合集合ErrorErrorErrorError对象对象对象对象CommandCommandCommandCommand对象对象对象对象ParametersParametersParametersParameters集合集合集合集合ParameterParameterParameterParameter对象对象对象对象RecordsetRecordsetRecordsetRecordset对象对象对象对象FieldsFieldsFieldsFi
11、elds集合集合集合集合FieldFieldFieldField对象对象对象对象 表表 ADOADO对象描述对象描述 对象名对象名 描描 述述Connection Connection 指定连接数据来源指定连接数据来源Command Command 发出命令信息从数据源获取所需数据发出命令信息从数据源获取所需数据RecordsetRecordset 由一组记录组成的记录集由一组记录组成的记录集Error Error 访问数据源时所返回的错误信息访问数据源时所返回的错误信息Parameter Parameter 与命令对象有关的参数与命令对象有关的参数Field Field 记录集中某个字段的信
12、息记录集中某个字段的信息uConnection对象:对象:使用使用ADO进行数据连接,如连接进行数据连接,如连接ODBC、SQLServer、Access等。等。1)几个常用的属性:)几个常用的属性:ConnectionString,CousorLocationnConnectionString=“Provider=SQLOLEDB.1;指定指定OLEDB提供者提供者IntegratedSecurity=SSPI;验证方式验证方式PersistSecurityInfo=False;是否保存安全信息是否保存安全信息InitialCatalog=library;DataSource=OWENABC
13、(127.0.0.1)nCousorLocation=aduserclient以便调用支持批更新的以便调用支持批更新的“客户端游标提供者客户端游标提供者”UserID=sa;password=123;Open Open 方法方法 (ADO Connection)(ADO Connection)功能:打开到数据源的连接。功能:打开到数据源的连接。语法语法nconnection.Openconnection.Open ConnectionStringConnectionString,UserIDUserID,Password,Password,OpenOptionsOpenOptionsn以下参数
14、均为可选项以下参数均为可选项ConnectionStringConnectionString:包含连接信息的字符串。:包含连接信息的字符串。UserIDUserID:包含建立连接时所使用的用户名称。:包含建立连接时所使用的用户名称。PasswordPassword:字符串,包含建立连接时所用密:字符串,包含建立连接时所用密码。码。OpenOptionsOpenOptions:ConnectOptionEnumConnectOptionEnum 值。如果设值。如果设置为置为 adConnectAsyncadConnectAsync,则异步打开连接。如果设,则异步打开连接。如果设置为置为Conne
15、ctCompleteConnectComplete当连接可用时将调用该事件。当连接可用时将调用该事件。2)常用方法)常用方法nExecute方法方法执行指定的查询、执行指定的查询、SQLSQL语句、存储过程或特定提语句、存储过程或特定提供者的文本等内容,返回一个供者的文本等内容,返回一个RecordSetRecordSet对象对象语法如下:语法如下:1 1)对于没有返回结果的命令格式:)对于没有返回结果的命令格式:connection.ExecuteCommandText,RecordsAffected,Options2 2)对于有返回结果的命令格式:)对于有返回结果的命令格式:Set Set
16、 recordSetrecordSet=connection.Executeconnection.Execute(CommandTextCommandText,RecordsAffectedRecordsAffected,Options)Options)CommandTextCommandText是字符串类型,包含要执行的是字符串类型,包含要执行的SQLSQL语句、表名、存储过程或特定提供者的文本;语句、表名、存储过程或特定提供者的文本;RecordsAffectedRecordsAffected是长整型变量类型,其值是执是长整型变量类型,其值是执行指定的操作所影响的记录数目;行指定的操作所影
17、响的记录数目;OptionsOptions参数表示对数据库请求的类型。参数表示对数据库请求的类型。nClose方法关闭关闭ConnectionConnection对象以便释放所有关联的系统资源。对象以便释放所有关联的系统资源。Connection.closeConnection.closeSet Set cncn=nothing=nothing数据的获取、结果的检验以及数据库的更新。数据的获取、结果的检验以及数据库的更新。可以依照查询条件获取或显示所要的数据列可以依照查询条件获取或显示所要的数据列与记录。与记录。RecordsetRecordset对象会保留每项查询返回对象会保留每项查询返回的
18、记录所在的位置,以便逐项察看结果。的记录所在的位置,以便逐项察看结果。u记录集对象记录集对象Recordset:1 1OpenOpen方法方法打开代表基本表、查询结果或者以前保存的打开代表基本表、查询结果或者以前保存的RecordSetRecordSet中记录的游标(指向数据库数据的位中记录的游标(指向数据库数据的位置,即指针),也就是说可以与数据库建立连接。置,即指针),也就是说可以与数据库建立连接。recordSet.OpenrecordSet.Open Source,Source,ActiveConnectionActiveConnection,CursorTypeCursorType,
19、LockTypeLockType,Options,OptionsA A、Source Source:指定数据表的名称:指定数据表的名称B B、ActiveConnectionActiveConnection :指定一个已经声明的:指定一个已经声明的ConnectionConnection对象对象C C、CursorTypeCursorType :设置打开:设置打开RecordsetRecordset所返回的所返回的据记录指针类型,参数值据记录指针类型,参数值0-30-3,见表,见表D D、LockTypeLockType属性,见下表属性,见下表E E、OptionsOptionsnadOpen
20、Unspecifed光标类型不确定光标类型不确定nadOpenForwardOnly前滚静态光标。这种光标只能向前浏览记录集,前滚静态光标。这种光标只能向前浏览记录集,比如用比如用MoveNextMoveNext向前滚动,这种方式可以提高浏向前滚动,这种方式可以提高浏览速度。览速度。nadOpenKeyset键集游标键集游标采用这种光标的记录集看不到其他用户的新增、采用这种光标的记录集看不到其他用户的新增、删除操作删除操作nadOpenDynamic动态游标动态游标所有数据库的操作都会立即在客户记录集上反应所有数据库的操作都会立即在客户记录集上反应出来。出来。nadOpenStaticadOp
21、enStatic静态光标静态光标产生一个静态的记录集产生一个静态的记录集,但其它用户的新增、删除、但其它用户的新增、删除、更新操作是不可见的。更新操作是不可见的。RecordsetRecordset对象的对象的CursorTypeCursorType属性属性RecordsetRecordset对象的对象的LockTypeLockType属性属性(1)adLockReadOnly:(1)adLockReadOnly:只读,默认只读,默认(2)adLockPessimistic:(2)adLockPessimistic:锁定被编辑的记录,直到锁定被编辑的记录,直到执行执行 UpdateUpdate
22、方法或移动记录时为止。方法或移动记录时为止。(3)adLockOptimistic:(3)adLockOptimistic:执行执行UpdateUpdate方法或移动记录方法或移动记录时锁定记录,直到操作完成为止。时锁定记录,直到操作完成为止。(4)adLockBatchOptimistic:(4)adLockBatchOptimistic:可以同时更新多个记录可以同时更新多个记录-1-1:指示:指示SourceSource参数中的命令类型为未知参数中的命令类型为未知1 1:指示被执行的字符串包含一个命令文本:指示被执行的字符串包含一个命令文本2 2:指示被执行的字符串包含一个表的名字:指示被
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Vb 数据库 编程
限制150内