查询结果集包含查询结果。
结果集的元素是调用者有权查看的对象。可以使用 next 方法来以相对方式读取元素,也可以使用 first 和 last 方法来以绝对方式读取元素。由于查询结果集的隐式游标最初定位在第一个元素之前,所以,在读取元素前,必须调用 first 或 next 方法。可以使用 size 方法来确定集合中的元素数目。
查询结果集的元素由工作项的所选属性及其相关被引用对象(例如活动实例和流程实例)组成。QueryResultSet 元素的第一个属性(列)指定查询请求中 Select 子句指定的第一个属性的值。QueryResultSet 元素的第二个属性(列)指定查询请求中 Select 子句指定的第二个属性的值,依此类推。
可以通过调用与属性类型兼容的方法以及通过指定适当的列索引来检索属性值。列索引号从 1 开始。
属性类型 | 方法 |
---|---|
字符串 | getString |
标识 | getOID |
时间戳记 | getTimestamp |
整型 | getInteger |
布尔值 | getBoolean |
CHAR FOR BIT DATA | getBinary |
示例:
QueryResultSet resultSet = process.query("ACTIVITY.STARTED, ACTIVITY.TEMPLATE_NAME AS NAME, WORK_ITEM.WIID, WORK_ITEM.REASON", null, null, null, null);
返回的查询结果集包含 4 列:
while (resultSet.next()) { java.util.Calendar activityStarted = resultSet.getTimestamp(1); String templateName = resultSet.getString(2); WIID wiid = (WIID) resultSet.getOID(3); Integer reason = resultSet.getInteger(4); }
resultSet.getColumnDisplayName(1) 返回 "STARTED" resultSet.getColumnDisplayName(2) 返回 "NAME" resultSet.getColumnDisplayName(3) 返回 "WIID" resultSet.getColumnDisplayName(4) 返回 "REASON"