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'" 是不允许的
6、Move 方法
移动 Recordset 对象中当前记录的位置
recordset.Move NumRecords, Start
NumRecords 带符号长整型表达式,指定当前记录位置移动的记录数。
Start 可选,字符串或变体型,用于计算书签。也可为下列值之一:
AdBookmarkCurrent 默认。从当前记录开始。
AdBookmarkFirst 从首记录开始。
AdBookmarkLast 从尾记录开始。
需要注意的是:
(1)如果 NumRecords 参数大于零,则当前记录位置将向前移动(向记录集的末尾)。如果 NumRecords 小于零,则当前记录位置向后移动(向记录集的开始)。
(2)从空的 Recordset 对象调用 Move 方法将产生错误。
(3)如果 Move 调用将当前记录位置移动到首记录之前,则 ADO 将当前记录放置在记录集(BOF 为 True)的首记录之前。在 BOF 属性已经为 True 时试图向后移动将产生错误;如果 Move 调用将当前记录位置移动到尾记录之后,则 ADO 将当前记录放置在记录集(EOF 为 True)的尾记录之后。在 EOF 属性已经为 True 时试图向前移动将产生错误。
7、MoveFirst、MoveLast、MoveNext 和 MovePrevious 方法
在指定 Recordset 对象中移动到第一个、最后一个、下一个或前一个记录并使该记录成为当前记录。
recordset.{MoveFirst | MoveLast | MoveNext | MovePrevious}
需要注意的是:
(1)使用 MoveNext 方法将当前记录向前移动一个记录(向 Recordset 的底部)。如果最后一个记录是当前记录并且调用 MoveNext 方法,则 ADO 将当前记录设置到 Recordset (EOF 为 True)的尾记录之后。当 EOF 属性已经为 True 时试图向前移动将产生错误。
(2)使用 MovePrevious 方法将当前记录位置向后移动一个记录(向记录集的顶部)。Recordset 对象必须支持向后游标移动;否则方法调用将产生错误。如果首记录是当前记录并且调用 MovePrevious 方法,则 ADO 将当前记录设置在 Recordset (BOF 为 True)的首记录之前。而 BOF 属性为 True 时向后移动将产生错误。
8、Clone 方法
创建与现有 Recordset 对象相同的复制 Recordset 对象。可选择指定该副本为只读。
Set rstDuplicate = rstOriginal.Clone
rstDuplicate 对象变量,标识正在创建的复制 Recordset 对象。
rstOriginal 对象变量,标识要被复制的 Recordset 对象。
使用 Clone 方法可创建多个 Recordset 对象副本,这对于希望在给定的记录组中保留多个当前记录十分有用。使用 Clone 方法比使用与初始定义相同的定义创建和打开新 Recordset 对象要有效得多。
也就是说
rs.open exec,conn,1,1
rs2.open exec,conn,1,1
应该这么改写
rs.open exec,conn,1,1
rs2=rs.clone
需要注意的是:
(1)新创建副本的当前记录将设置为首记录。
(2)关闭原始 Recordset 时并不关闭它的副本,而关闭某个副本也将不关闭原始 Recordset 或任何其他副本。
9、Close 方法
关闭打开的对象及任何相关对象。
object.Close
需要注意的是:
(1)使用 Close 方法可关闭Recordset 对象以便释放所有关联的系统资源。关闭对象并非将它从内存中删除,可以更改它的属性设置并且在
此后再次打开。要将对象从内存中完全删除,可将对象变量设置为 Nothing。
(2)如果正在立即更新模式下进行编辑,调用 Close 方法将产生错误,应首先调用 Update 或 CancelUpdate 方法。
10、Open 方法,为什么最后说这个,因为前面的各项属性方法没有弄清楚,我们是不会理解CursorType参数的
recordset.Open Source, ActiveConnection, CursorType, LockType, Options
Recordset对象可以通过Source属性来连接Command对象。Source参数可以是一个Command对象名称、一段SQL命令、一个指定的数据表名称或是一个Stored Procedure。假如省略这个参数,系统则采用Recordset对象的Source属性。ActiveConnection
Recordset对象可以通过ActiveConnection属性来连接Connection对象。这里的ActiveConnection可以是一个Connection对象或是一串包含数据
库连接信息(ConnectionString)的字符串参数。CursorType
Recordset对象Open方法的CursorType参数表示将以什么样的游标类型启动数据,包括adOpenForwardOnly、adOpenKeyset、adOpenDynamic及ad