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小时内删除。
发表评论