我正在Anylogic 8.7中创建一个基于代理的模型。有一点,我想使用query从带有条件的数据库表(rs_table(中获取值列表,这是anylogic在指定位置写入的Java代码:
(int) selectFrom(rs_table) .where(rs_table.tr.eq(1)) .list(rs_table.impact)
但我不知道如何存储这些价值观,也不知道如何逐一实现这些价值观。如果你能帮我,我将不胜感激。谢谢。
我会使用一个集合。从";代理人";托盘。集合应具有以下属性:
- 集合类:LinkedList
- 元素类:Int
使用以下代码:
collection.addAll(
selectFrom(rs_table) .where(rs_table.tr.eq(1)) .list(rs_table.impact)
);
现在,您可以访问集合中的值,如下所示:
collection.get(i);
;对返回的行进行迭代,并执行一些";"插入数据库查询"向导的选项正是为此而设计的。它生成查询代码,该代码在返回的列表中循环,并将每列的值打印到控制台(通过traceln
调用(;您只需将循环中的代码替换为您实际希望对每个返回行执行的操作(其中模板代码向您展示如何获取行中每列的值(。
向导(如果您使用QueryDSL表单(将生成如下代码:
List<Tuple> rows = selectFrom(rs_table)
.where(rs_table.tr.eq(1))
.list();
for (Tuple row : rows) {
traceln(
row.get( rs_table.tr ) + "t" +
row.get( rs_table.impact )
);
}
(对于tr
和impact
之外的任何其他表列,具有额外的row.get
行(。
(在Java术语中,查询的list
函数返回Tuple
对象的List
,如代码所示。(