社区
ASP
帖子详情
关于ASP中ADO的RECORDSET游标方式?
cslyg
2000-04-25 03:58:00
我以adOpenDynamic方式建立recordset对象,但是它不支持movelast和moveprevious
方法。请问以哪种方式建立的recordset对象才能支持所有的移动方法?
...全文
215
4
打赏
收藏
关于ASP中ADO的RECORDSET游标方式?
我以adOpenDynamic方式建立recordset对象,但是它不支持movelast和moveprevious 方法。请问以哪种方式建立的recordset对象才能支持所有的移动方法?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cslyg
2000-04-26
打赏
举报
回复
我的出错的原因是:没有引入adovbs.inc文件,我加入后,recordset的各种方法都支持了。
谢谢各位关心!
w102272
2000-04-25
打赏
举报
回复
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 中命名的文件中恢复保留(保存的)Recordset。
adAsyncExecute 指示应异步执行 Source。
adAsyncFetch 指示在提取 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 对象属性的参数(Source、CursorType 和 LockType),参数和属性的关系如下:
在 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 参数得到支持。
dengdun
2000-04-25
打赏
举报
回复
ado支持前后移动的游标类型有三种:dynamic,keyset,static。其中dynamic,keyset这两种在asp里根本没有作用,如果是在应用程序里它们会有相应的功能,但在asp与static在功能上没有任何区别,只是耗用更大的系统资源罢了。所以如果你要是在asp里想要前后移动的游标,就使用static就行了,也就是zdg所说的3。
zdg
2000-04-25
打赏
举报
回复
Set rs=Server.CreateObject("ADODB.Recordset")
rs.Open sqlstr, Conn, 3
ADO
与
ADO
_NET编程指南
近几年来,
ADO
已经成为在基于Windows 的应用程序
中
执行数据访问的领先、优选的方法。今天,已经有大量的
ADO
应用程序付诸应用,许多开发人员已经对
ADO
开发非常熟练。随着Microsoft .NET Framework的引入,
ADO
.NET——
ADO
的演进版本粉墨登场了。虽然
ADO
和
ADO
.NET之间存在很多相似性,但是它们的运行
方式
和基础却大不相同。为了帮助读者平滑地迁移到
ADO
.NET,我将在本文
中
讲述如何用
ADO
.NET完成一些常见的任务。我会提出一些关于数据访问的情况进行探讨,说明如何利用
ADO
予以解决,并对比说明如何在用C#开发的
ASP
.NET应用程序通过
ADO
.NET进行解决。我将以连接数据源的相似操作为论述的切入点,然后,我们会看到
ADO
的
Recordset
对象在
ADO
.NET
中
如何演变为许多截然不同、各有侧重的对象和方法。最后,我将探讨流水
游标
(firehose cursor),它从行集
中
返回一个值并使用XML。 本书重点介绍了二都的区别以及怎样使用!不下后悔一辈子!
OLEDB和ODBC的区别.txt
OLEDB和ODBC的区别 ODBC(开放数据库互连):是Microsoft引进的一种早期数据库接口技术。它实际上是
ADO
的前身。早期的数据库连接是非常困难的. 每个数据库的格式都不一样,开发者得对他们所开发的每种数据库的底层API有深刻的了解. 因此,能处理各种各样数据库的通用的API就应运而生了. 也就是现在的ODBC(Open Database Connectivity), ODBC是人们在创建通用API的早期产物. 有许多种数据库遵从了这种标准,被称为ODBC兼容的数据库. OLEDB(对象链接和嵌入数据库)位于ODBC层与应用程序之间. 在你的
ASP
页面里,
ADO
是位于OLEDB之上的"应用程序". 你的
ADO
调用先被送到OLEDB,然后再交由ODBC处理. 你可以直接连接到OLEDB层,如果你这么做了,你将看到服务器端
游标
(
recordset
的缺省的
游标
,也是最常用的
游标
)性能的提升.
webcontrols
Web controls使创建forms 和HTML controls.的工作将会变得简单易行。例如在
ASP
中
典型的选择框 selectbox里,你不得不创建一个循环以便让控制系统装入数据。但在
ASP
.net里,你将会拥有一个"data-bound",这意味着它会与数据源连接,并会自动装入数据。这些功能听起来简直是妙不可言,但是让我们细细的来检验一下。 通过传统的
ASP
和
ADO
,你能够选择在哪里放置数据库
游标
(服务器一边或是用户一边),至于其它的,是依靠你想要创建的性能和功能类型来做决定。但是在
ASP
+里,你不再有选择。因为在web controls和服务器之间的链接,迫使你不得不将所有的事物都放置在客户方。对于客户和服务器来说,不啻于一个性能
中
心,因为它必须将所有的数据存储在本地内存里。 Web controls 也在严格的XML 术语
中
引进了新的语法。因此,你会不再有比较松散的代码编辑过程,你必须关闭所有的标记符,使用定义等等。当然,大多数人对于适应这个功能会感到非常痛苦,但是严格的的代码编辑过程通常意味着更少的错误。 另一方面关于Web forms 缺陷在于,要想使用Web form的大部分功能,你必须使用forms 的POST 方法;例如,state管理。当你使用GET方法时,所有的all best 会被关闭掉,你就不能使用相应的功能。这个限制实在太没必要了。
ASP
.NET Server Controls 许多系统过去的组成部分现在成为
ASP
.NET Server Controls。例如:ad rotator已升级,并开始用XML来存储它的信息,但不仅仅于此。这儿有一整套控制系统,它可以做任何事情,从代为管理你的表单状态到显示日历、桌面。事实上,几乎每HTML元素都有
ASP
.NET Server Controls,通过
ASP
.NET Server Control,可以与HTML元素程式化的相互影响。例如,你不再需要为了维持一个在LISTBOX里选定的 OPTION而大走弯路。你只需指示LISTBOX 在服务器里运作并代你进行管理就可以了。更为方便的是,你只需设定好程序,LISTBOX就会按指令依次显示选定的项目。 也许在这个新的 controls
中
最有趣的莫过于 DataGrid。Datagrid是一个多列的数据绑定网格,通过它你可以轻而易举的将数据置于其
中
。它同时提供分页、排序等所有你所期望的功能。 记录丢失,对于程序员来说是一个非常严重的事情。在新的系统
中
,
中
心对象是Dataset。它与
recordset
相类似,是数据内在存储记忆的副本。Dataset对于您的开发来说是
中
心所在,但是现在,我只能说它只是相近与XML,使程式在简单化和统一化的过程
中
,相对简单。你还是可以用你过去用过的来处理一切…(除了服务器端
游标
)…
统说
ado
对象
游标
类型(Connection,
RecordSet
)以及显示数据记录的三板斧
关于
ADO
中
的
游标
类型- - 对Connection来说: CursorLocation属性,包含光标服务程序的默认位置.这个值将由使用该Connection对象的
Recordset
对象自动继承. 常用的
游标
类型主要有2种: adUseClient 使用由本地
游标
库提供的客户端
游标
。本地
游标
引擎通常允许使用的
ADO
中
Recordset
.Open的参数,
游标
类型和回锁
方式
简单说来: CONN,1,1为只读数据;1,3为插入数据;2,3是修改数据
游标
的意思形象的说一个表格里有许多行数据,我用鼠标指向某一行数据(在
ASP
里面叫记录集)你可以拖用鼠标指向下一行。在
ASP
里面同样也可以。不过要通过它:rs.movenext,记录集往下移。 至于具体和理论知识如下:
游标
类型 Const
adO
penForwardOnly = 0 前向
游标
,为缺省
游标
,提供最快的运行
ASP
28,390
社区成员
357,068
社区内容
发帖
与我相关
我的任务
ASP
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
复制链接
扫一扫
分享
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章