转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 站长学院 >> Web开发 >> 正文
ADO API 参考( ADO方法)之四         ★★★★

ADO API 参考( ADO方法)之四

作者:闵涛 文章来源:闵涛的学习笔记 点击数:1426 更新时间:2009/4/23 10:48:52

Open 方法 (ADO Connection)

打开到数据源的连接。

语法

connection.Open ConnectionString, UserID, Password, Options

参数

ConnectionString   可选,字符串,包含连接信息。参阅 ConnectionString 属性可获得有效设置的详细信息。

UserID   可选,字符串,包含建立连接时所使用用户名。

Password   可选,字符串,包含建立连接时所使用密码。

Options   可选,ConnectOptionEnum 值。决定该方法是在连接建立之后(异步)还是连接建立之前(同步)返回。可以是如下某个常量:

常量 说明 adConnectUnspecified (默认)同步打开连接。 adAsyncConnect 异步打开连接。ConnectComplete 事件可以用于决定连接何时可用。

说明

使用 Connection 对象的 Open 方法可建立到数据源的物理连接。在该方法成功完成后连接是活跃的,可以对它发出命令并且处理结果。

使用可选的 ConnectionString 参数指定连接字符串,它包含由分号分隔的一系列 argument = value 语句。ConnectionString 属性自动继承用于 ConnectionString 参数的值,因此可在打开之前设置 Connection 对象的 ConnectionString 属性,或在 Open 方法调用时使用 ConnectionString 参数设置或覆盖当前连接参数。

如果在 ConnectionString 参数和可选的 UserID Password 参数中传送用户和密码信息,那么 UserIDPassword 参数将覆盖 ConnectionString 中指定的值。

在对打开的 Connection 的操作结束后,可使用 Close 方法释放所有关联的系统资源。关闭对象并非将它从内存中删除;可以更改它的属性设置并在以后再次使用 Open 方法打开它。要将对象完全从内存中删除,可将对象变量设置为 Nothing

远程数据服务用法    当在客户端的 Connection 对象上使用 Open 方法时,在 Connection 对象上打开 Recordset 之前 Open 方法其实并未建立到服务器的连接。

Open 方法 (ADO Recordset)

打开游标。

语法

recordset.Open Source, ActiveConnection, CursorType, LockType, Options

参数

Source   可选,变体型,计算 Command 对象的变量名、SQL 语句、表名、存储过程调用或持久 Recordset 文件名。

ActiveConnection   可选。变体型,计算有效 Connection 对象变量名;或字符串,包含 ConnectionString 参数。

CursorType   可选,CursorTypeEnum 值,确定提供者打开 Recordset 时应该使用的游标类型。可为下列常量之一(参阅 CursorType 属性可获得这些设置的定义)。

常量 说明 AdOpenForwardOnly (默认值)打开仅向前类型游标。 AdOpenKeyset 打开键集类型游标。 AdOpenDynamic 打开动态类型游标。 AdOpenStatic 打开静态类型游标。

LockType   可选。确定提供者打开 Recordset 时应该使用的锁定(并发)类型的 LockTypeEnum 值,可为下列常量之一(参见 LockType 属性可获得详细信息)。

常量 说明 AdLockReadOnly (默认值)只读 — 不能改变数据。 AdLockPessimistic 保守式锁定(逐个) — 提供者完成确保成功编辑记录所需的工作,通常通过在编辑时立即锁定数据源的记录。 AdLockOptimistic 开放式锁定(逐个) — 提供者使用开放式锁定,只在调用Update 方法时才锁定记录。 AdLockBatchOptimistic 开放式批更新—用于批更新模式(与立即更新模式相对)。

Options   可选,长整型值,用于指示提供者如何计算 Source 参数(如果它代表的不是 Command 对象),或从以前保存 Recordset 的文件中恢复 Recordset。可为下列常量之一(参见 CommandType 属性可获得该列表中前五个常量的详细说明)。

常量 说明 adCmdText 指示提供者应该将 Source 作为命令的文本定义来计算。 adCmdTable 指示 ADO 生成 SQL 查询以便从在 Source 中命名的表中返回所有行。 adCmdTableDirect 指示提供者更改从在 Source 中命名的表中返回所有行。 adCmdStoredProc 指示提供者应该将 Source 视为存储过程。 adCmdUnknown 指示 Source 参数中的命令类型为未知。 adCmdFile 指示应从在 Source 中命名的文件中恢复保留(保存的)RecordsetadAsyncExecute 指示应异步执行 SourceadAsyncFetch 指示在提取 Initial Fetch Size 属性中指定的初始数量后,应该异步提取所有剩余的行。如果所需的行尚未提取,主要的线程将被堵塞直到行重新可用。 adAsyncFetchNonBlocking 指示主要线程在提取期间从未堵塞。如果所请求的行尚未提取,当前行自动移到文件末尾。

说明

使用 Recordset 对象的 Open 方法可打开代表基本表、查询结果或者以前保存的 Recordset 中记录的游标。

使用可选的 Source 参数指定使用下列内容之一的数据源:Command 对象变量、SQL 语句、存储过程、表名或完整的文件路径名。

如果 Source 是文件路径名,它可以是完整路径(“c:\dir\file.rst”)、相对路径(“..\file.rst”)或 URL(“http://files/file.rst”)。

ActiveConnection 参数对应于 ActiveConnection 属性,并指定在哪个连接中打开 Recordset 对象。如果传送该参数的连接定义,则 ADO 使用指定的参数打开新连接。可以在打开 Recordset 之后更改该属性的值以便将更新发送到其他提供者。或者可以将该属性设置为 Nothing(在 Microsoft Visual Basic 中)以便将 Recordset 与所有提供者断开。

对于直接对应于 Recordset 对象属性的参数(SourceCursorTypeLockType),参数和属性的关系如下:

  • Recordset 对象打开之前属性是读/写。

  • 除非在执行 Open 方法时传送相应的参数,否则将使用属性设置。如果传送参数,则它将覆盖相应的属性设置,并且用参数值更新属性设置。

  • 在打开 Recordset 对象后,这些属性将变为只读。

注意   对于其 Source 属性被设置为有效 Command 对象的 Recordset 对象,即使 Recordset 对象没有打开,ActiveConnection 属性也是只读的。

如果在 Source 参数中传送 Command 对象并且同时传递 ActiveConnection 参数,那么将产生错误。Command 对象的 ActiveConnection 属性必须已经设置为有效的 Connection 对象或者连接字符串。

如果在 Source 参数中传送的不是 Command 对象,那么可以使用 Options 参数优化对 Source 参数的计算。如果没有定义 Options 则性能将会降低,原因是 ADO 必须调用提供者以确定参数是否为 SQL 语句、存储过程或表名。如果已确定所用的 Source 类型,则可以设置 Options 参数以指示 ADO 直接跳到相关的代码。如果 Options 参数不匹配 Source 类型,将产生错误。

如果不存在与 Recordset 关联的连接,Options 参数的默认值将为 adCmdFile。这是持久 Recordset 对象的典型情况。

如果数据源没有返回记录,那么提供者将 BOF 和 EOF 属性同时设置为 True,并且不定义当前记录位置。如果游标类型允许,仍然可以将新数据添加到该空 Recordset 对象。

在打开的 Recordset 对象上完成操作时,可使用 Close 方法释放任何相关的系统资源。关闭对象并非将它从内存中删除,可以更改它的属性设置并且在以后使用 Open 方法再次将其打开。要将对象从内存中完全删除,可将对象变量设置为 Nothing

在设置 ActiveConnection 属性之前调用不带操作数的 Open,可通过将字段追加到 Recordset Fields 集合创建 Recordset 的实例。

如果已经将 CursorLocation 属性设置为 adUseClient,就可以采用两种途径之一异步检索行。建议使用的方法是将 Options 设置为 adAsyncFetch。或者,可以使用在 Properties 集合中的“异步行集合处理”动态属性,但如果未将 Options 参数设置为 adAsyncFetch,则可能丢失相关的被检索事件。

注意   在 MSRemote 提供者中的背景提取仅能通过 Open 方法的 Options 参数得到支持。

OpenSchema 方法

从提供者获取数据库模式信息。

语法

Set recordset = connection.OpenSchema (QueryType, Criteria, SchemaID)

返回值

返回包含模式信息的 Recordset 对象。Recordset 将以只读、静态游标打开。

参数

QueryType   所要运行的模式查询类型,可以为下列任意常量。

Criteria   可选。每个 QueryType 选项的查询限制条件数组,如下所列:

QueryType Criteria AdSchemaAsserts CONSTRAINT_CATALOG
CONSTRAINT_SCHEMA
CONSTRAINT_NAME AdSchemaCatalogs CATALOG_NAME AdSchemaCharacterSets CHARACTER_SET_CATALOG
CHARACTER_SET_SCHEMA
CHARACTER_SET_NAME AdSchemaCheckConstraints CONSTRAINT_CATALOG
CONSTRAINT_SCHEMA
CONSTRAINT_NAME AdSchemaCollations COLLATION_CATALOG
COLLATION_SCHEMA
COLLATION_NAME AdSchemaColumnDomainUsage DOMAIN_CATALOG
DOMAIN_SCHEMA
DOMAIN_NAME
COLUMN_NAME AdSchemaColumnPrivileges TABLE_CATALOG
TABLE_SCHEMA
TABLE_NAME
COLUMN_NAME
GRANTOR
GRANTEE adSchemaColumns TABLE_CATALOG
TABLE_SCHEMA
TABLE_NAME
COLUMN_NAME adSchemaConstraintColumnUsage TABLE_CATALOG
TABLE_SCHEMA
TABLE_NAME
COLUMN_NAME adSchemaConstraintTableUsage TABLE_CATALOG
TABLE_SCHEMA
TABLE_NAME adSchemaForeignKeys PK_TABLE_CATALOG
PK_TABLE_SCHEMA
PK_TABLE_NAME
FK_TABLE_CATALOG
FK_TABLE_SCHEMA
FK_TABLE_NAME adSchemaIndexes TABLE_CATALOG
TABLE_SCHEMA
INDEX_NAME
TYPE
TABLE_NAME adSchemaKeyColumnUsage CONSTRAINT_CATALOG
CONSTRAINT_SCHEMA
CONSTRAINT_NAME
TABLE_CATALOG
TABLE_SCHEMA
TABLE_NAME
COLUMN_NAME adSchemaPrimaryKeys PK_TABLE_CATALOG
PK_TABLE_SCHEMA
PK_TABLE_NAME adSchemaProcedureColumns PROCEDURE_CATALOG
PROCEDURE_SCHEMA
PROCEDURE_NAME
COLUMN_NAME adSchemaProcedureParameters PROCEDURE_CATALOG
PROCEDURE_SCHEMA
PROCEDURE_NAME
PARAMTER_NAME adSchemaProcedures PROCEDURE_CATALOG
PROCEDURE_SCHEMA
PROCEDURE_NAME
PROCEDURE_TYPE adSchemaProviderSpecific 参见说明 adSchemaProviderTypes DATA_TYPE
BEST_MATCH adSchemaReferentialConstraints CONSTRAINT_CATALOG
CONSTRAINT_SCHEMA
CONSTRAINT_NAME adSchemaSchemata CATALOG_NAME
SCHEMA_NAME
SCHEMA_OWNER adSchemaSQLLanguages <无> adSchemaStatistics TABLE_CATALOG
TABLE_SCHEMA
TABLE_NAME adSchemaTableConstraints CONSTRAINT_CATALOG
CONSTRAINT_SCHEMA
CONSTRAINT_NAME
TABLE_CATALOG
TABLE_SCHEMA
TABLE_NAME
CONSTRAINT_TYPE adSchemaTablePrivileges TABLE_CATALOG
TABLE_SCHEMA
TABLE_NAME
GRANTOR
GRANTEE adSchemaTables TABLE_CATALOG
TABLE_SCHEMA
TABLE_NAME
TABLE_TYPE adSchemaTranslations TRANSLATION_CATALOG
TRANSLATION_SCHEMA
TRANSLATION_NAME adSchemaUsagePrivileges OBJECT_CATALOG
OBJECT_SCHEMA
OBJECT_NAME
OBJECT_TYPE
GRANTOR
GRANTEE adSchemaViewColumnUsage VIEW_CATALOG
VIEW_SCHEMA
VIEW_NAME adSchemaViewTableUsage VIEW_CATALOG
VIEW_SCHEMA
VIEW_NAME adSchemaViews TABLE_CATALOG
TABLE_SCHEMA
TABLE_NAME

SchemaID   OLE DB 规范没有定义用于提供者模式查询的 GUID。如果 QueryType 设置为 adSchemaProviderSpecific,则需要该参数,否则不使用它。

说明

OpenSchema 方法返回与数据源有关的信息,例如关于服务器上的表以及表中的列等信息。

Criteria 参数是可用于限制模式查询结果的值数组。每个模式查询有它支持的不同参数集。实际模式由

[1] [2]  下一页


[Web开发]asp.net C#查询SQL数据并分页的可参考代码  [平面设计]可参考的自定义flash右键菜单源代码
[网络技术]ADSL宽带上网掉线的原因及可参考的解决办法  [电脑技术]可参考的扫描仪故障解决方案
[电脑技术]网页自动关闭的原因及可参考的解决办法下篇  [电脑技术]网页自动关闭的原因及可参考的解决办法上篇
[电脑技术]多种参考满足您重新安装IE浏览器的愿望  [电脑技术]购买笔记本电脑应参考的20个知识点
[VB.NET程序]Auto Complete combo Box(VB.NET Source Use API…  [VB.NET程序]在 VB 中使用 Unicode API
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Web开发  · 网页制作
    · 平面设计  · 网站运营
    · 网站推广  · 搜索优化
    · 建站心得  · 站长故事
    · 互联动态
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台