ASP  了解RecordSet对象
在数据库的访问中,使用Connection对象创建数据源的连接,通过 Connection 的 Execute方法以及 Command对象和Parameter对象来完成数据库中记录添加、修改和删除功能。ADO组件中的Recordset对象以及Field对象的主要功能是完成对数据库的查询,并提供了一种非常直观的操作方式。
在前面已经接触到了 Recordset 对象,并对其有了一个初步的认识。创建 Recordset 对
象有显式和隐式两种方法。
asp 字符串转数组显式创建对象调用 Server 对象的 CreateObject 方法,如下所示:
Set MyRS = Sever.CreatObject(ADODB.RecordSet)
显式创建完后,还需要使用Open方法打开 Recordset 对象。
通过Connection对象和 Command 对象的 Execute 等方法可以隐式创建Recordset对象。在创
建了Recordset对象后,就可以调用其属性、方法和集合,Recordset对象的属性如表9-4,方法如表9-5所示,集合如表9-6所示。Recordset对象是ADO组件中最灵活复杂也是最重要的一个对象,它对于数据的管理功能也是其他对象所无法比拟的。虽然 Recordset 对象的属性和方法很丰富,但是受篇幅所限,我们根据实践中的应用情况,在此仅对最常用的几种进行介绍。
表9-4  Recordset对象的主要属性
名称
属性
解释
方式属性
ActiveConnection
用于Open方法中,指定数据库连接字符串或 Connection 对象的名称。
Source
用于Open方法中,可以是Command对象名、数据查询(SQL)字符串或数据库中的表名。
行为属性
CursorType
定义记录集游标类型,在后面章节进行详细讲解。
LockType
指定记录集锁定类型,在后面章节进行详细讲解。
Filter
该属性用于过滤由数据库服务器端所返回的据。例如:0表示无过滤功能;1仅显示已修改但未提交的记录;2 仅显示最近一次编辑的记录;3 允许查看数据库最后读取结果的数据。
CacheSize
指定保存在高速缓存区内的记录数目,即客户端每次由数据库服务器端取回数据记录的数目。
MaxRecords
设定返回给 Recordset记录的最大数目,默认为0,表明将所有的记录都加入到Recordset中,打开 Recordset 后为只读。
记录指针移动属性
BOF
判断记录是否在首记录之前
EOF
判断记录是否在尾记录之后。
RecordCount
返回记录集中的记录数。
BookMark
当创建一个允许使用BookMark属性的Recordse时,给每个记录都标上独一无二的书签。利用该属性可以返回标记书签的位置。
AbsolutePage
该属性指定了指针的位置,通过改变它的值,将指针移动到指定页面的开始位置。
AbsolutePosition
用于设置当前记录的顺序位置
PageSize
利用该属性设置每页显示多少条记录。
PageCount
当设置了PageSize后,利用该属性返回记录集中的页数。
数据维护属性
EditMode
回表明当前编辑状态的值,包括3种:0表明该记录当前已被编辑;1 表明当前记录已被修改,但未被提交到数据库;2 表明当前记录为存入数据库的新记录。
Status
该属性可以在实施一次批量更新后查询Recordset的状态。该属性常用于多用户链接管理。例如:0表示记录更新成功;1 表示新记录,未加入数据库;4 表示记录已经被删除;8 表示记录尚未被修改等。
表9-5  Recordset对象的主要方法
名称
方法
解释
操作对象
Open
打开记录集
MyRS.Open [source],[ ActiveConnection],[ CursorType],[ LockType]
Close
关闭Recordset对象并释放其所占用的资源,MyRS. Close删除Recordset对象需调用Set MyRS=Nothing
Clone
创建一个完全相同的Recordset对象。只有在所有的Recordset对象允许使用BookMark时才能使用这种法,任何一个Recordset对象对数据的更改会马上显现在另外的Recordset对象中,在关闭Recordse对象时必须分别关闭。
移动记录指针
Move
用于按照指定的记录个数向前或向后移动记录指针Recordset.Move n[,start] n 表示要移动的记录数,正数表示向前移动,负数表示向后移动;start指定指针移动的起始位置,默认为当前指针位置。
MoveFirst
将指针移动到第1条记录Recordset.MoveFirst
MoveLast
将指针移动到最后1条记录Recordset.MoveLast
MoveNext
将指针移动到下一条记录Recordset.MoveNext
MovePrevious
将指针移动到上一条记录Recordset.MovePrevious
编辑记录
AddNew
在记录集中添加一条新记录。
Update
将当前记录中的修改保存到数据库。
Delete
从记录集中删除一条记录。
CancelBatch
当记录集处在批量更新模式时,取消一批更新。
CancelUpdate
在调用Update之前,取消对当前记录所做的所有修改。
UpdateBatch
当记录集处于批量更新模式时,保存对一个或多个记录的修改。
刷新数据库
Requery
用于重新运行第一次创建Recordset的命令和声明,所有已存在于Recordset内的数据都会在执行Requery方法后更新。
Resync
用于从数据库中取出Recordset中已经存在的记录,利用这种方法可以看到被其他用户修改过的记录。
GetRows
用于从数据源中取得多行数据并将其存入一个数组中。
NextRecordSet
用于多重数据查询时清除当前的Recordset并取得另外一个Recordset对象。
表9-6  Recordset对象的集合
名称
解释
Fields
Filed对象的集合。
Properties
Recordset对象的属性集合。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。