网络编程
位置:首页>> 网络编程>> Asp编程>> asp三天学好ADO对象之第三天

asp三天学好ADO对象之第三天

  发布时间:2008-10-09 12:53:00 

标签:ado,Recordset,对象,记录,asp

asp三天学好ADO对象之第二天

今天来说一下Recordset对象的一些方法。

1、AddNew 方法

创建可更新 Recordset 对象的新记录。
recordset.AddNew FieldList, Values
FieldList   可选。新记录中字段的单个名称、一组名称或序号位置。
Values   可选。新记录中字段的单个或一组值。如果 Fields 是数组,那么 Values 也必须是有相同成员数的数组,否则将发生错误。字段名称的次序必须与每个数组中的字段值的次序相匹配。

我们一般是
rs.addnew
rs("xx")=xx
rs("xx")=xx
rs.update

需要注意的是在立即更新模式(调用 Update 方法时提供者会立即将更改写入基本数据源)下,调用不带参数的 AddNew 方法可将 EditMode 属性设置为 adEditAdd。提供者将任何字段值的更改缓存在本地。调用 Update 方法可将新记录传递到数据库并将 EditMode 属性重置为 adEditNone。如果传送了 Fields 和 Values 参数,ADO 则立即将新记录传递到数据库(无须调用 Update),且 EditMode 属性值没有改变 (adEditNone)。
可能大家会问在ASP中使用ADO的AddNew方法和直接使用“Insert into...”语句有和不同?那种方式更好?答:ADO的AddNew方法只是将“Insert into ”语句封装了起来,所以,当对大量数据进行操作的时候,直接使用SQL语句将会大大加快存取数据的速度,因为他减少了ADO的“翻译”时间。

2、Delete 方法

删除当前记录或记录组。
recordset.Delete AffectRecords

AffectRecords   AffectEnum 值,确定 Delete 方法所影响的记录数目,该值可以是下列常量之一。

AdAffectCurrent 默认。仅删除当前记录。

AdAffectGroup 删除满足当前 Filter 属性设置的记录。要使用该选项,必须将 Filter 属性设置为有效的预定义常量之一。

adAffectAll 删除所有记录。

adAffectAllChapters 删除所有子集记录。
使用立即更新模式将在数据库中进行立即删除,否则记录将标记为从缓存删除,实际的删除将在调用 Update 方法时进行。

3、Update 方法

保存对 Recordset 对象的当前记录所做的所有更改

recordset.Update Fields, Values

Fields   可选。变体型,代表单个名称;或变体型数组,代表需要修改的字段(一个或多个)名称及序号位置。

Values   可选。变体型,代表单个值;或变体型数组,代表新记录中字段(单个或多个)值。
如果希望取消对当前记录所做的任何更改或者放弃新添加的记录,则必须调用 CancelUpdate 方法。

4、CancelUpdate 方法

recordset.CancelUpdate

使用 CancelUpdate 方法可取消对当前记录所作的任何更改或放弃新添加的记录。在调用 Update 方法后将无法撤消对当前记录或新记录所做的更改,如果在调用 CancelUpdate 方法时添加新记录,则调用 AddNew 之前的当前记录将再次成为当前记录。如果尚未更改当前记录或添加新记录,调用 CancelUpdate 方法将产生错误。

5、Find 方法

搜索 Recordset 中满足指定标准的记录。如果满足标准,则记录集位置设置在找到的记录上,否则位置将设置在记录集的末尾。

Find (criteria, SkipRows, searchDirection, start)

criteria   字符串,包含指定用于搜索的列名、比较操作符和值的语句。
SkipRows    可选,长整型值,其默认值为零,它指定当前行或 start 书签的位移以开始搜索。
searchDirection    可选的 SearchDirectionEnum 值,指定搜索应从当前行还是下一个有效行开始。其值可为 adSearchForward 或

adSearchBackward。搜索是在记录集的开始还是末尾结束由 searchDirection 值决定。
start    可选,变体型书签,用作搜索的开始位置。
criteria “比较操作符”可以是“>”(大于)、“<”(小于)、“=”(等于)、“>=”(大于或等于)、“<=”(小于或等于)、“<>”

(不等于)或“like”(模式匹配)。 criteria 中的值可以是字符串、浮点数或者日期。字符串值以单引号分界(如“state = 'WA'”)。

日期值以“#”(数字记号)分界(如“start_date > #7/22/97#”)。
需要注意的是find是不支持多字段。但是可以用filter实现。"name='abc'"AND "city='sh'" 是不允许的

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com