QTP连接oracle并操作数据库的方法(4)

发表于:2012-05-04来源:测试窝作者:胡志超  点击数: 标签:qtp
adSearchBackward。搜索是在记录集的开始还是末尾结束由 searchDirection 值决定。 start 可选,变体型书签,用作搜索的开始位置。 criteria 比较操作符可以是(大于

  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

  OpenStatic,分述如下:

  --------------------------------------------------------------

  常数 常数值 说明

  -------------------------------------------------------------

  adOpenForwardOnly 0 缺省值,启动一个只能向前移动的游标(Forward Only)。

原文转自:http://www.ltesting.net