应用程序访问数据库技术Word文档格式.docx

上传人:b****6 文档编号:20695295 上传时间:2023-01-25 格式:DOCX 页数:14 大小:120.58KB
下载 相关 举报
应用程序访问数据库技术Word文档格式.docx_第1页
第1页 / 共14页
应用程序访问数据库技术Word文档格式.docx_第2页
第2页 / 共14页
应用程序访问数据库技术Word文档格式.docx_第3页
第3页 / 共14页
应用程序访问数据库技术Word文档格式.docx_第4页
第4页 / 共14页
应用程序访问数据库技术Word文档格式.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

应用程序访问数据库技术Word文档格式.docx

《应用程序访问数据库技术Word文档格式.docx》由会员分享,可在线阅读,更多相关《应用程序访问数据库技术Word文档格式.docx(14页珍藏版)》请在冰豆网上搜索。

应用程序访问数据库技术Word文档格式.docx

MSDASQL

针对ODBC的OLEDB提供者

SQLOLEDB

针对SQLSERVER的OLEDB提供者

ADsDSOObject

针对活动目录的OLEDB提供者

MSIDXS

针对索引服务的OLEDB提供者

Microsoft.Jet.OLEDB.3.51

针对MicrosoftJet的OLEDB提供者

MSDAORA

针对Oracle的OLEDB提供者

1.3对象模型

我们把ODBC、OLEDB统称为访问数据库的中间件。

ODBC的API函数是用C语言编写的、OLEDB的API函数是用C++语言编写的。

开发应用程序的语言有许多种(C、C++、JAVA、VB等),如果开发应用程序的语言与访问数据库的中间件API的语言不同,那么调用将很麻烦,并且调用时还要考虑这些API函数的调用时序。

为了适应面向对象的程序设计,我们可以把ODBC、OLEDB的API函数封装成对象,使面向对象的语言调用更方便。

2.通过ODBC访问数据库

3.通过OLEDB访问数据库

4.通过ADO访问数据库

ADO对象模型是对OLEDB的封装。

4.1ADO对象模型层次结构

4.2Connection

Connection对象的主要用途是连接DBMS。

4.2.1属性

1、CommandTimeout

⑴ 作用

指定中止某个相关Command对象的Execute调用之前必须等待的时间。

⑵ 取值说明

可读写Long类型。

默认值为30秒。

2、ConnectionString

⑴ 作用

提供数据提供者或服务提供者打开到数据源的连接所需要的特定连接信息。

⑵ 取值说明

可读写String类型。

3、ConnectionTimeout

指定中止一个失败的Connection.Open方法调用之前必须等待的时间。

默认值为15秒。

4、CursorLocation

确定是使用客户端(adUseClient)游标引擎,还是使用服务器端(adUseServer)游标引擎。

可读写Long类型,具体如下:

adUseClient:

客户段游标,好处是:

能降低网络流量。

adUseServer:

服务器段游标,好处是:

程序对数据库的修改可以立即反映到服务器,而且其他用户对数据库的操作也可以马上反映出来;

缺点是:

网络流量高,每个数据访问都需要网络交换数据。

5、DefauitDatabase

设置连接的默认数据库,如果ConnectString中未指定数据库名称,就使用这里所指定的名称连接数据库服务器时,才需要指定该属性值。

因为一个数据库服务器下可能有许多数据库。

可读写String类型,服务器下的一个数据库名称。

6、Errors集合和Error对象

Errors集合:

存放着Connection连接产生的所有错误,每一个错误都是一个对象,对象ASError型。

该集合的方法有:

Clear:

清楚集合中的Error对象。

Refresh:

刷新集合。

该集合的属性有:

Item:

它是集合的默认方法,它返回对集合中Error对象的引用。

SetEr=Adocon.Errors[.Item](对象名|索引号)

Er为Error型变量。

Adocon为Connection型变量。

Count:

返回集合中对象的数目

Errors对象:

该对象有七个只读属性,没有方法。

Description:

对错误的简单文字说明。

String类型。

HelpContent:

指定错误在WindowsHelp文件中的标识ID。

Long型。

HelpFile:

指定WindowsHelp文件名全称。

String类型

NativeError:

指定特定提供者的错误代码。

Number:

指定Errors在Errors集合中的索引值。

Long型

Source:

返回导致错误的对象的名称。

SQLstate:

注意:

不同厂家的DBMS的SQLstate不同。

 ⑵ 应用说明

dimcnnnwindasnewadodb.connection

dimrstcustsasnewadodb.recordset

onerrorgotol1

cnnnwind.provider=”Microsoft.Jet.OLEDB.3.51”

cnnnwind.openapp.path&

“\nwind.mdb”,“admin”

withrstcusts

set.activeconnection=cnnnwind

.cursortype=adopenkeyset

.locktype=adlockbatchoptimistic

.open“select*fromnon-existent”

endwith

setadodc1.recordset=rstcusts

exitsub

l1:

dimcolerrorsaserrors

dimerrnwindaserror

setcolerrors=cnnnwind.errors

foreacherrnwindincolerrors

debug.print“错误描述:

”&

errnwind.description

debug.print“提供者错误码:

errnwind.nativeerror

debug.print“SQL状态码:

errnwind.SQLstate

nexterrnwind

setcolerrors=nothing

seterrnwind=nothing

setrstcusts=nothing

setcnnnwind=nothing

7、IsolationLevel

指定和其他并发事务交互时,使用锁的行为,既设置锁的隔离级别。

只有用Connection对象的事务方法启动了事务,该属性的设置值才起作用。

adXactCursorStability 

只允许读其他事务已提交的改变(默认值) 

adXactBrowse 

允许读其他事务未提交的改变 

adXactChaos 

本事务不会覆盖其他位于更高隔离程度的事务所做的改变 

adXactIsolated 

所有事务相互独立 

adXactReadCommitted 

等同于adXactCursorStability 

adXactReadUncommitted 

等同于adXactBrowse 

adXactRepeatableRead 

禁止读其他事务的改变 

adXactSerializable 

等同于adXactIsolated 

adXactUnspecified 

不能确定提供者的事务隔离程度

  ⑶ 应用说明

8、Mode

指定本连接的读写权限。

Long类型。

adModeUnknown 

未指定数据源的连接许可权(默认值) 

adModeRead 

连接是只读的 

adModeReadWrite 

连接是可读写的 

adModeShareDenyNone 

不拒绝其他用户的读写访问(Jet 

OLE 

DB 

Provider的默认值) 

adModeShareDenyRead 

拒绝其他用户打开到数据源的读连接 

adModeShareDenyWrite 

拒绝其他用户打开到数据源的写连接 

adModeShareExclusive 

以独占方式打开数据源 

adModeWrite 

连接是只写的 

用SQL数据定义语言DDL时,必须是“独占方式”。

19、Properties

Connection对象的属性集合。

只读,Connection对象的属性

11、Provider

如果ConnectionString中未指定OLE 

DB数据或服务提供者的名称,就使用这时指定的名称

可读写String类型,具体如下:

MSDASQL:

针对ODBC。

SQLOLEDB:

针对SQLServer。

Microsoft.Jet.3.51:

针对MicrosoftJet。

MSDAORA:

针对Oracle。

ADsDSOObject:

针对“活动目录”服务。

MSIDXS:

针对“索引”服务。

  

12、State

设置或指示连接是处于什么状态。

adStateClosed 

Connection(或其他对象)是关闭的(默认值) 

adStateConnecting 

正在连接数据源的状态 

adStateExecuting 

Connection或Command对象的Execute方法已被调用 

adStateFetching 

返回行(row)到Recordset对象 

adStateOpen 

Connection(或其他对象)是打开的(活动的)

4.2.2方法

1、BeginTans

⑴ 语法

FunctionBeginTans()asLong

连接对象名.BeginTans

⑵ 参数说明

⑶ 用途

初始化一个事务;

其后必须有CommitTrans和/或RollbackTrans相呼应.

2、Cancel

SubCancel()

3、Close

SubClose()

连接对象名.Close

关闭连接.

⑷ 举例

4、CommitTrans

⑴ 语法

SubCommitTrans()

⑵ 参数说明

⑶ 用途

回送参数,返回插入、修改、删除操作后所影响的行数

5、Execute

FunctionExecute(CommandTextAsString,[RecordsAffected],[OptionsAsLong=-1])AsRecordset

CommandText:

要执行的SQL语句字符串。

RecordsAffected:

回送参数,返回插入、修改、删除操作后所影响的行数

OptionsAsLong:

确定以何种方式来产生“记录集”,取值如下:

取值

说明

adCmdUnknown

未定(默认值),由提供者去判断。

adCmdFile

是和对象类型相应的文件名称

adCmdStoredProc

是存储过程名

adCmdTable

是能产生内部SELECT*FROM表名查询的表名称

adCmdTableDirect

是能直接从表中获取行内容的表名

adCmdText

是一条SQL语句

 

执行一个SQL命令后,返回一个结果集。

⑷ 举例

dimADOconasNewADODB.Connection

dimADOcomasNewADODB.Command

dimADOrecasNewADODB.Recordset

dimsqlstringasstring

ADOcon.Open“连接串及属性设置”

Sqlstring=”select*from表名where条件”

SetADOrec=ADOcon.Execute(Sqlstring)

SetADOrec=ADOcon.Execute(Command:

=Strcommand,RowsAffected:

=

lngRowsAffected,Option:

=lngOption)

Strcommand:

SQL语句,表名,存储过程名

lngRowsAffected:

返回插入、修改、删除操作后所影响的行数。

对SELECT

语句返回0。

6、Open

SubOpen([ConnectionStringAsString],[UserIDAsString],[PasswordAsString],[OptionsAsLong=-1])。

连接对象名.Open

打开一个物理连接,用连接字符串来打开一个连接

DimadocnasNewADODB.Connect

① adocn.open:

使用连接串ConnectionString的值打开连接。

② adocn.open“Provider=SQLOLEDB;

UserID=用户名;

Password=密码

InitialCatalog=数据库名;

DataSource=服务器名”

针对ODBC的提供者名指定ODBC的驱动程序

③ Connectstring=”provider=MSDASQL;

driver={SQLServer};

server=数据库服务器名称;

uid=用户名;

pwd=密码;

database=数据库名”

7、OpenSchema

FunctionOpenSchema(SchemaAsSchemaEnum,[Restrictions],[SchemaID])AsRecordset

返回一个Recordset对象,以提供数据源的结构信息。

SetAdoRs=Adocon.OpenSchemaadSchemaColumns

8、RollbackTrans

SubRollbackTrans()

4.2.3事件

4.2.4应用示例

4.3Command

Command对象的主要用途是执行SQL命令、存储过程。

4.3.1属性

4.3.2方法

4.3.3事件

4.4RecordSet

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1