如何将数据库中列出的值存储到Anylogic 8.7.1中的变量中



我正在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 )
);
}

(对于trimpact之外的任何其他表列,具有额外的row.get行(。

(在Java术语中,查询的list函数返回Tuple对象的List,如代码所示。(

最新更新