1回顶部 今天来说一下Recordset对象的一些方法。 1、AddNew 方法 创建可更新 Recordset 对象的新记录。 我们一般是 rs.addnew 需要注意的是在立即更新模式(调用 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 方法 删除当前记录或记录组。 AffectRecords AffectEnum 值,确定 Delete 方法所影响的记录数目,该值可以是下列常量之一。 2回顶部 adAffectAll 删除所有记录。 adAffectAllChapters 删除所有子集记录。 使用立即更新模式将在数据库中进行立即删除,否则记录将标记为从缓存删除,实际的删除将在调用 Update 方法时进行。 3、Update 方法 保存对 Recordset 对象的当前记录所做的所有更改 4、CancelUpdate 方法 recordset.CancelUpdate 5、Find 方法 搜索 Recordset 中满足指定标准的记录。如果满足标准,则记录集位置设置在找到的记录上,否则位置将设置在记录集的末尾。 Find (criteria, SkipRows, searchDirection, start) adSearchBackward。搜索是在记录集的开始还是末尾结束由 searchDirection 值决定。 3回顶部 start 可选,变体型书签,用作搜索的开始位置。 criteria “比较操作符”可以是“>”(大于)、“<”(小于)、“=”(等于)、“>=”(大于或等于)、“<=”(小于或等于)、“<>” (不等于)或“like”(模式匹配)。 criteria 中的值可以是字符串、浮点数或者日期。字符串值以单引号分界(如“state = 'WA'”)。 日期值以“#”(数字记号)分界(如“start_date > #7/22/97#”)。 6、Move 方法 移动 Recordset 对象中当前记录的位置 需要注意的是: (1)如果 NumRecords 参数大于零,则当前记录位置将向前移动(向记录集的末尾)。如果 NumRecords 小于零,则当前记录位置向后移动(向记录集的开始)。 7、MoveFirst、MoveLast、MoveNext 和 MovePrevious 方法 在指定 Recordset 对象中移动到第一个、最后一个、下一个或前一个记录并使该记录成为当前记录。 4回顶部 需要注意的是:(1)使用 MoveNext 方法将当前记录向前移动一个记录(向 Recordset 的底部)。如果最后一个记录是当前记录并且调用 MoveNext 方法,则 ADO 将当前记录设置到 Recordset (EOF 为 True)的尾记录之后。当 EOF 属性已经为 True 时试图向前移动将产生错误。 (2)使用 MovePrevious 方法将当前记录位置向后移动一个记录(向记录集的顶部)。Recordset 对象必须支持向后游标移动;否则方法调用将产生错误。如果首记录是当前记录并且调用 MovePrevious 方法,则 ADO 将当前记录设置在 Recordset (BOF 为 True)的首记录之前。而 BOF 属性为 True 时向后移动将产生错误。 8、Clone 方法 创建与现有 Recordset 对象相同的复制 Recordset 对象。可选择指定该副本为只读。 需要注意的是: (1)新创建副本的当前记录将设置为首记录。 5回顶部 9、Close 方法 关闭打开的对象及任何相关对象。 需要注意的是: (1)使用 Close 方法可关闭Recordset 对象以便释放所有关联的系统资源。关闭对象并非将它从内存中删除,可以更改它的属性设置并且在 此后再次打开。要将对象从内存中完全删除,可将对象变量设置为 Nothing。
recordset.Open Source, ActiveConnection, CursorType, LockType, Options Recordset对象可以通过ActiveConnection属性来连接Connection对象。这里的ActiveConnection可以是一个Connection对象或是一串包含数据 库连接信息(ConnectionString)的字符串参数。CursorType Recordset对象Open方法的CursorType参数表示将以什么样的游标类型启动数据,包括adOpenForwardOnly、adOpenKeyset、adOpenDynamic及ad OpenStatic,分述如下: ----------------------- 常数 常数值 说明 6回顶部 adOpenForwardOnly 0 缺省值,启动一个只能向前移动的游标(Forward Only)。adOpenKeyset 1 启动一个Keyset类型的游标。 adOpenDynamic 2 启动一个Dynamic类型的游标。 adOpenStatic 3 启动一个Static类型的游标。 ------------------------ 以上几个游标类型将直接影响到Recordset对象所有的属性和方法,以下列表说明他们之间的区别。 Recordset属性 adOpenForwardOnly adOpenKeyset adOpenDynamic adOpenStatic
AbsolutePosition 不支持 不支持 可读写 可读写 BOF 只读 只读 只读 只读 CursorType 可读写 可读写 可读写 可读写 EOF 只读 只读 只读 只读 Filter 可读写 可读写 可读写 可读写 LockType 可读写 可读写 可读写 可读写 PageCount 不支持 不支持 只读 只读 PageSize 可读写 可读写 可读写 可读写 RecordCount 不支持 不支持 只读 只读 AddNew 支持 支持 支持 支持 7回顶部 CancelBatch 支持 支持 支持 支持CancelUpdate 支持 支持 支持 支持 Close 支持 支持 支持 支持 Delete 支持 支持 支持 支持 Move 不支持 支持 支持 支持 MoveFirst 支持 支持 支持 支持 MoveLast 不支持 支持 支持 支持 MoveNext 支持 支持 支持 支持 MovePrevious 不支持 支持 支持 支持 Open 支持 支持 支持 支持 Update 支持 支持 支持 支持 UpdateBatch 支持 支持 支持 支持 ------------------ Recordset对象Open方法的LockType参数表示要采用的Lock类型,如果忽略这个参数,那么系统会以Recordset对象的LockType属性为预设值。LockType参数包含adLockReadOnly、adLockPrssimistic、adLockOptimistic及adLockBatchOptimistic等,分述如下: 常数 常数值 说明 ------------------- adLockReadOnly 1 缺省值,Recordset对象以只读方式启动,无法运行AddNew、Update及Delete等方法 adLockPrssimistic 2 当数据源正在更新时,系统会暂时锁住其他用户的动作,以保持数据一致性。 adLockOptimistic 3 当数据源正在更新时,系统并不会锁住其他用户的动作,其他用户可以对数据进行增、删、改的操作。 adLockBatchOptimistic 4 当数据源正在更新时,其他用户必须将CursorLocation属性改为 adUdeClientBatch才能对数据进行增、删、改的操作。 需要注意的是: 如果数据源没有返回记录,那么提供者将 BOF 和 EOF 属性同时设置为 True,并且不定义当前记录位置。如果游标类型允许,仍然可以将新数据添加到该空 Recordset 对象。
|
正在阅读:三天学好ADO之第三天三天学好ADO之第三天
2004-02-14 09:33
出处:CSDN
责任编辑:linjixiong