通过调用 Session 对象的 BuildQuery 方法创建 QueryDef 对象,来构建查询。
查询包含您希望从中检索值的指定记录类型的字段列表。这些记录在 ResultSet 对象中返回。该查询返回指定类型的全部记录的所请求字段。然后,您可以遍历结果集并处理数据。
创建一个查询至少需要创建以下三个独立的对象:QueryDef 对象、QueryFilterNode 对象以及 ResultSet 对象。更为复杂的查询可能还需要创建其他 QueryFilterNode 对象。
要创建一个简单查询,请执行以下步骤:
- 通过使用 QueryDef 对象构建查询,以指定要检索的数据。QueryDef 对象包含 Rational ClearQuest 数据库查询的定义。创建 QueryDef 之后,您可以使用它从数据库中获取信息。要创建该对象,请使用 Session 对象的 BuildQuery 方法。
- 使用 QueryDef 的方法来添加搜索条件并指定您希望查询返回的每条记录的字段。
- 创建 ResultSet 对象以保存返回的数据。要创建该对象,请调用 Session 对象的 BuildResultSet 方法。
在创建过程中,ResultSet 对象使用 QueryDef 对象中的信息作为模板来创建一组内部数据结构。运行查询时,ResultSet 对象使用由查询检索到的数据填充这些数据结构。
- 通过调用 ResultSet 对象的 Execute 或 ExecuteAndCountRecords 方法运行查询。调用任何这两个方法都会用从数据库检索到的数据来填充结果集。
- 通过遍历 ResultSet 对象并使用 ResultSet 对象的其他方法来访问数据,以获取有关记录字段的信息。
查询只返回您通过调用 QueryDef 对象的 BuildField 方法所指定的记录字段,而不是返回整条记录。Execute 方法不会按照特定顺序返回结果。因此,ResultSet 对象使用基于游标的系统,允许您编写代码以便逐一遍历这些记录。