ASP 游标参数详解(ASP记录集)第1/2页

rs.open sql,conn,A,B
A:
ADOPenforwardonly (=0)
只读,且当前数据记录只能向下移动。
ADOPenkeyset (=1)
只读,当前数据记录可自由移动。
ADOpendynamic (=2)
可读写,当前数据记录可自由移动。
ADOpenstatic (=3)
可读写,当前数据记录可自由移动,可看到新增记录。
B:
ADLockreadonly (=1)
缺省锁定类型,记录集是只读的,不能修改记录。
ADLockpessimistic (=2)
悲观锁定,当修改记录时,数据提供者将尝试锁定记录以确保成功地编辑记录,只要编辑一开 始,则立即锁住记录。
ADLockoptimitic (=3)
乐观锁定,直到用Update方法提交更新的记录时才锁定记录。
ADLockbatchoptimistic (=4)
批量乐观锁定,允许修改多个记录,只有调用UPDATE BATCH方法时才锁定记录。
 当不需要改动任何记录时,应该使用只读的记录集,这样提供者不用做任何检测。对于一般的使用,乐观的锁定可能是最好的选择,因为记录只被锁定一小段时间,数据在这段时间被更新。这就减少了资源的利用。

可使用 Recordset 对象操作来自提供者的数据。使用 ADO 时,通过 Recordset 对象可对几乎所有数据进行操作。所有 Recordset 对象均使用记录(行)和字段(列)进行构造。由于提供者所支持的功能不同,某些 Recordset 方法或属性有可能无效。
在 ADO 中定义了四种不同的游标类型:
动态游标 ? 用于查看其他用户所作的添加、更改和删除,并用于不依赖书签的 Recordset 中各种类型的移动。如果提供者支持,可使用书签。
键集游标 ? 其行为类似动态游标,不同的只是禁止查看其他用户添加的记录,并禁止访问其他用户删除的记录,其他用户所作的数据更改将依然可见。它始终支持书签,因此允许 Recordset 中各种类型的移动。
静态游标 ? 提供记录集合的静态副本以查找数据或生成报告。它始终支持书签,因此允许 Recordset 中各种类型的移动。其他用户所作的添加、更改或删除将不可见。这是打开客户端 (ADOR) Recordset 对象时唯一允许使用的游标类型。
仅向前游标 ? 除仅允许在记录中向前滚动之外,其行为类似静态游标。这样,当需要在 Recordset 中单程移动时就可提高性能。
在打开 Recordset 之前设置 CursorType 属性来选择游标类型,或使用 Open 方法传递 CursorType 参数。部分提供者不支持所有游标类型。请检查提供者的文档。如果没有指定游标类型,ADO 将默认打开仅向前游标。
如果 CursorLocation 属性被设置为 adUseClient 后打开 Recordset,则在返回的 Recordset 对象中,Field 对象的 UnderlyingValue 属性不可用。对部分提供者(例如 Microsoft ODBC Provider for OLE DB 连同 Microsoft SQL Server),可以通过使用 Open 方法传递连接字符串,根据以前定义的 Connection 对象独立地创建 Recordset 对象。ADO 仍然创建 Connection 对象,但它不将该对象赋给对象变量。不过,如果正在相同的连接上打开多个 Recordset 对象,就应该显式创建和打开 Connection 对象,由此将 Connection 对象赋给对象变量。如果在打开 Recordset 对象时没有使用该对象变量,即使在传递相同连接字符串的情况下,ADO 也将为每个新的 Recordset 创建新的 Connection 对象。
可以创建所需数量的 Recordset 对象。
打开 Recordset 时,当前记录位于第一个记录(如果有),并且 BOF 和 EOF 属性被设置为 False。如果没有记录,BOF 和 EOF 属性设置是 True。
假设提供者支持相关的功能,可以使用 MoveFirst、MoveLast、MoveNext 和 MovePrevious 方法以及 Move 方法,和 AbsolutePosition、AbsolutePage 和 Filter 属性来重新确定当前记录的位置。仅向前 Recordset 对象只支持 MoveNext 方法。当使用 Move 方法访问每个记录(或枚举 Recordset)时,可使用 BOF 和 EOF 属性查看是否移动已经超过了 Recordset 的开始或结尾。
Recordset 对象可支持两类更新:立即更新和批更新。使用立即更新,一旦调用 Update 方法,对数据的所有更改将被立即写入基本数据源。也可以使用 AddNew 和 Update 方法将值的数组作为参数传递,同时更新记录的若干字段。
如果提供者支持批更新,可以使提供者将多个记录的更改存入缓存,然后使用 UpdateBatch 方法在单个调用中将它们传送给数据库。这种情况应用于使用 AddNew、Update 和 Delete 方法所做的更改。调用 UpdateBatch 方法后,可以使用 Status 属性检查任何数据冲突并加以解决。
注意 要执行不使用 Command 对象的查询,应将查询字符串传递给 Recordset 对象的 Open 方法。但是,在想要保持命令文本并重复执行或使用查询参数时,仍然需要 Command 对象。
AddNew 创建可更新的 Recordset 对象的新记录。
Append 将对象追加到集合中。如果集合是 Fields,可以先创建新的 Field 对象然后再将其追加到集合中。
AppendChunk 将数据追加到大型文本、二进制数据 Field 或 Parameter 对象。
BeginTrans、CommitTrans 和 RollbackTrans 按如下方式管理 Connection 对象中的事务进程:
BeginTrans ? 开始新事务。
CommitTrans ? 保存任何更改并结束当前事务。它也可能启动新事务。
RollbackTrans ? 取消当前事务中所作的任何更改并结束事务。它也可能启动新事务。
Cancel 取消执行挂起的、异步 Execute 或 Open 方法调用。
Cancel (RDS) 取消当前运行的异步执行或获取。
CancelBatch 取消挂起的批更新。
CancelUpdate 取消在调用 Update 方法前对当前记录或新记录所作的任何更改。
CancelUpdate (RDS) 放弃与指定 Recordset 对象关联的所有挂起更改,从而恢复上一次调用 Refresh 方法之后的值。
Clear 删除集合中的所有对象。
Clone 创建与现有 Recordset 对象相同的复制 Recordset 对象。可选择指定该副本为只读。
Close 关闭打开的对象及任何相关对象。
CompareBookmarks 比较两个书签并返回它们相差值的说明。
ConvertToString 将 Recordset 转换为代表记录集数据的 MIME 字符串。
CreateObject (RDS) 创建目标业务对象的代理并返回指向它的指针。
CreateParameter 使用指定属性创建新的 Parameter 对象。
CreateRecordset (RDS) 创建未连接的空 Recordset。
Delete (ADO Parameters Collection) 从 Parameters 集合中删除对象。
Delete (ADO Fields Collection) 从 Fields 集合删除对象。
Delete (ADO Recordset) 删除当前记录或记录组。
Execute (ADO Command) 执行在 CommandText 属性中指定的查询、SQL 语句或存储过程。
Execute (ADO Connection) 执行指定的查询、SQL 语句、存储过程或特定提供者的文本等内容。
Find 搜索 Recordset 中满足指定标准的记录。
GetChunk 返回大型文本或二进制数据 Field 对象的全部或部分内容。
GetRows 将 Recordset 对象的多个记录恢复到数组中。
GetString 将 Recordset 按字符串返回。
Item 根据名称或序号返回集合的特定成员。
Move 移动 Recordset 对象中当前记录的位置。
MoveFirst、MoveLast、MoveNext 和 MovePrevious 移动到指定 Recordset 对象中的第一个、最后一个、下一个或前一个记录并使该记录成为当前记录。
MoveFirst、MoveLast、MoveNext、MovePrevious (RDS) 移动到显示的 Recordset 中的第一个、最后一个、下一个或前一个记录。
NextRecordset 清除当前 Recordset 对象并通过提前命令序列返回下一个记录集。
Open (ADO Connection) 打开到数据源的连接。
Open (ADO Recordset) 打开游标。
OpenSchema 从提供者获取数据库模式信息。
Query (RDS) 使用有效的 SQL 查询字符串返回 Recordset。
Refresh 更新集合中的对象以便反映来自提供者的可用对象以及特定于提供者的对象。
Refresh (RDS) 对在 Connect 属性中指定的 ODBC 数据源进行再查询并更新查询结果。
Requery 通过重新执行对象所基于的查询,更新 Recordset 对象中的数据。
Reset (RDS) 根据指定的排序和筛选属性对客户端 Recordset 执行排序或筛选操作。
Resync 从基本数据库刷新当前 Recordset 对象中的数据。
Save (ADO Recordset) 将 Recordset 保存(持久)在文件中。
Seek 搜索 Recordset 的索引以便快速定位与指定值相匹配的行,并将当前行的位置更改为该行。
SubmitChanges (RDS) 将本地缓存的可更新 Recordset 的挂起更改提交到在 Connect 属性中指定的 ODBC 数据源中。
Supports 确定指定的 Recordset 对象是否支持特定类型的功能。
Update 保存对 Recordset 对象的当前记录所做的所有更改。
UpdateBatch 将所有挂起的批更新写入磁盘。

当前1/2页 12下一页阅读全文

(0)

相关推荐

  • ASP 游标参数详解(ASP记录集)第1/2页

    rs.open sql,conn,A,B A: ADOPenforwardonly (=0) 只读,且当前数据记录只能向下移动. ADOPenkeyset (=1) 只读,当前数据记录可自由移动. ADOpendynamic (=2) 可读写,当前数据记录可自由移动. ADOpenstatic (=3) 可读写,当前数据记录可自由移动,可看到新增记录. B: ADLockreadonly (=1) 缺省锁定类型,记录集是只读的,不能修改记录. ADLockpessimistic (=2) 悲观锁

  • 详解Asp.net web.config customErrors 如何设置

    摘要 customErrors也经常在开发部署中看到<customErrors mode="Off" />,设置这样可以在页面上看到详细的错误信息.但也为黑客提供了攻击的线索. customErrors 该节点有三种可选的设置项 On:服务器开发的最安全选项,因为它总是隐藏错误提示信息. RemoteOnly:向大多数用户展示一般的错误信息,但向拥有服务器访问权限的用户展示完整的错误提示信息.换句话说,仅向远程客户端端显示自定义错误,并向本地主机显示 ASP.NET 错误.

  • 详解Asp.net 5中的ApplicationBuilder

    ApplicationBuilder(IApplicationBuilder接口),是OWIN的基础,而且里面都是代理.代理的代理,各种lambda表达式,估计要看这部分代码,很多人得头昏脑涨.今天就对个类以及几个扩展方法进行讲解. 按惯例先贴代码(这是我修改后的,将接口继承去掉了.HttpContext类修改成自己的MyHttpContext类) public class ApplicationBuilder { private readonly IList<Func<RequestDele

  • 详解Asp.Net Core 2.1+的视图缓存(响应缓存)

    响应缓存Razor 页与 ASP.NET 核心 2.0 中不支持. 此功能将支持ASP.NET 核心 2.1 版本. 在老的版本的MVC里面,有一种可以缓存视图的特性(OutputCache),可以保持同一个参数的请求,在N段时间内,直接从mvc的缓存中读取,不去走视图的逻辑. [OutputCache(Duration =20)]//设置过期时间为20秒 public ActionResult ExampleCacheAction() { var time=DateTime.Now.ToStr

  • 详解ASP.NET Core中配置监听URLs的五种方式

    默认情况下,ASP. NET Core应用会监听一下2个Url: http://localhost:5000 https://localhost:5001 在本篇博文中,我将展示如何使用五种不同的方式改变应用监听的URLs. 在ASP.NET Core项目启动时,有多种配置监听Url的方式,在我之前的一篇博客中,已经展示了在ASP.NET Core 1.0中如何应用不同的方式配置,在ASP.NET Core 3.x中,大部分方式还是一样的. UseUrls() - 在Program.cs配置程序

  • 详解asp.net core 依赖注入

    前言 好久没有写微博了,因为前段时间由于家庭原因决定从工作了3年多的北京转移到上海去.依赖注入在学习net core的时候也有写过类似的东西,只是实践的较少,结果来到上海新公司系统框架涉及到了这块知识点,所以在了解完自己的项目之后决定做一些相关的总结.接下来就让我们先来了解hewi依赖注入. 什么是依赖注入 依赖注入,全称是"依赖注入到容器", 容器(IOC容器)是一个设计模式,它也是个对象,你把某个类(不管有多少依赖关系)放入这个容器中,可以"解析"出这个类的实例

  • 详解ASP.NET Razor 语法

    Razor 同时支持 C# (C sharp) 和 VB (Visual Basic). 主要的 Razor C# 语法规则 Razor 代码块包含在 @{ ... } 中 内联表达式(变量和函数)以 @ 开头 代码语句用分号结束 变量使用 var 关键字声明 字符串用引号括起来 C# 代码区分大小写 C# 文件的扩展名是 .cshtml C# 实例 <!-- Single statement block --> @{ var myMessage = "Hello World&quo

  • 详解ASP.NET Core 反向代理部署知多少

    引言 最近在折腾统一认证中心,看到开源项目IdentityServer4.Admin集成了IdentityServer4和管理面板,就直接拿过来用了.在尝试Nginx部署时遇到了诸如虚拟目录映射,请求头超长.基础路径映射有误等问题,简单记录,以供后人参考. Nginx 配置路由转发 首先来看下IdentityServer4.Admin的项目结构: IdentityServer4.Admin / ├── Id4.Admin.Api # 用于提供访问Id4资源的WebApi项目 ├── Id4.Ad

  • 详解ASP.NET Core Web Api之JWT刷新Token

    前言 如题,本节我们进入JWT最后一节内容,JWT本质上就是从身份认证服务器获取访问令牌,继而对于用户后续可访问受保护资源,但是关键问题是:访问令牌的生命周期到底设置成多久呢?见过一些使用JWT的童鞋会将JWT过期时间设置成很长,有的几个小时,有的一天,有的甚至一个月,这么做当然存在问题,如果被恶意获得访问令牌,那么可在整个生命周期中使用访问令牌,也就是说存在冒充用户身份,此时身份认证服务器当然也就是始终信任该冒牌访问令牌,若要使得冒牌访问令牌无效,唯一的方案则是修改密钥,但是如果我们这么做了,

  • 详解ASP.NET MVC的整个生命周期

    目录 一.介绍 二.MVC生命周期详述 View的初始化和渲染呈现 三.结束 一.介绍 我们做开发的,尤其是做微软技术栈的,有一个方向是跳不过去的,那就是MVC开发.我相信大家,做ASP.NET MVC 开发有的有很长时间,当然,也有刚进入这个行业的.无论如何,如果有人问你,你知道ASP.NET MVC的生命周期吗?你知道它的来世今生吗?你知道它和 ASP.NET WEBFORM 有什么区别吗?估计,这些问题,有很多人会答不上来,或者说不清楚.今天,我就把我的理解写出来,也是对我自己学习的一次回

随机推荐