ASP入门基础教程:Recordset对象
ASP入门基础教程-Recordset 对象
一、Recordset 对象简述
Recordset 对象表示的是来自基本表或命令执行结果的记录全集。在任何情况下,该对象所指的当前记录均为集合内的单条记录。使用 Recordset 对象可以操作来自提供程序的数据,通过该对象几乎可以对所有数据进行操作。所有 Recordset 对象均使用记录(行)和字段(列)进行构造。Recordset 对象实际上是依附于 Connection 对象和 Command 对象之上的。通过建立及开启一个 Connection 对象,可以与我们关心的数据库建立连接;通过使用 Command 对象,则可以告诉数据库我们想要做什么:是插入一条记录,还是查找符合条件的记录;通过使用 Recordset 对象,则可以方便自如地操作 Command 对象返回的结果。
二、创建 Recordset 对象
要使用 Recordset 对象处理结果,首先必须创建 Recordset 对象实例。其格式如下:
Set RS=Server.CreateObject("adodb.recordset")
三、打开记录集
RS.Open Source,ActiveConnection,CursorType,LockType,Options
所有的参数都是可选项。Source 为 Command 对象变量名、SQL 语句、表名、存储过程调用或持久 Rcordset 文件名。
ActiveConnection 为有效的 Connection 对象变量名或包含 ConnectionString 字符串。
LockType 指定打开 Recordset 时应使用的锁定类型。
Options 指定如何计算 Source 参数或从以前保存 Recordset 的文件中恢复 Recordset。
四、Recordset 对象的常用属性
Recordset 对象的常用属性<表>
属 性 |
描 述 / 注 解 | |||
ActiveConnection |
指定与数据提供者的连接信息,用来指定当前的 Recordset 对象属于哪个 Connection 对象。 | |||
Source |
指定 Recordset 对象的数据源,可以是一个 Command 对象名、SQL 语句、数据库表或存储过程 。 | |||
CoursorType |
指定 Recordset 对象所使用的光标类型。 | |||
共有 4 种光标类型: 0 一 前滚光标,光标只能向前移动,执行效率高。是 Cursor 的默认值; 1 一 键盘光标,光标可向前或向后移动,Recordset 记录集同步反映自它创建后其他用户所作的修改和删除,但却不能同步反映自它创建后其他用户新增加的记录; 2 一 动态光标,光标可向前或向后滚动,任何时候 Recordset 记录集都同步反映其他用户的任何操作; 3 一 静态光标,光标可向前或向后移动,自创建后无法同步反映其他用户所做的任何操作,它的功能简单但消耗资源少。 | ||||
LockType |
表示编辑时记录的锁定类型。它决定了当不止一个用户试图同时改变一个记录时,Recordset 如何处理数据记录。 | |||
0 一 只读锁定,记录只读,不能更新 Recordset ,为 LockType 的默认值; 1 一 悲观锁定,编辑记录开始立刻锁定,直到提交给数据提供者; 2 一 乐观锁定,一次锁定一条记录,只有调用 Update 方法提交数据时才锁定记录; 3 一 乐观的批量更新,允许同时更新多条记录。 | ||||
Filter |
用来设定一个过滤条件,以便对 Recordset 记录进行过滤。 | |||
CacheSize |
表示一个 Recordset 对象在高速缓存中的记录数。 | |||
Maxrecords |
执行一个 SQL 查询时,返回 Recordset 对象的最大记录数。 | |||
Bof |
判断记录指针是否到了第一条记录之前。 | |||
Eof |
判断记录指针是否到了最后一条记录之后。 | |||
RecordCount |
返回 Recordset 对象的记录数,(在使用键盘光标时,该属怀返回 的可能是不太准确的数值;一般情况下,并不用这种方法来统计 Recordset 中的记录数,因为它的性能并不稳定) | |||
Bookmark |
书签标记,用来保存当前记录的位置。 | |||
AbsolutePosition |
用来设定 Recordset 对象中当前记录的顺序位置是第几行记录。 | |||
PageSize |
表示 Reccordset 对象的页面大小(每页多少条记录),默认值为10。 | |||
PageCount |
表示 Recordset 对象的页面个数。 | |||
AbsolutePage |
表示当前记录的页号。 | |||
EditMode |
指示当前记录的编辑状态,0 一 已被编辑;1 一 已被修改而未提交;2 一 存入数据库的新记录 。 | |||
Status |
对 Recordset 对象进行批量更新后,查询当前记录的状态。 | |||
值 |
意义描述 |
值 |
意义描述 | |
0 |
记录更新成功。 |
1024 |
存在记录锁定,新记录未保存。 | |
1 |
新记录。 |
2048 |
使用乐观并发事件,未保存。 | |
2 |
记录被删除。 |
4096 |
用户违反完整性规则,记录未保存。 | |
4 |
记录未被删除。 |
8192 |
很待定修改,记录未保存。 | |
8 |
记录未被修改。 |
16384 |
与一存储对象相冲突,记录未保存。 | |
16 |
书签不合法,记录未保存。 |
32768 |
内存不够,记录未保存。 | |
64 |
影响多个记录,未保存。 |
65536 |
用户没有中、足够的权限,未保存。 | |
128 |
指向一待定插入,记录未保存。 |
131072 |
违反基本数据库原则,记录未保存。 | |
256 |
操作被取消,记录未保存。 |
262144 |
记录已从数据源删除。 |