首页 > 解决方案 > Anylogic:更新表并获取参数值

问题描述

我尝试通过不同的参数名称使用 for 循环运行,并尝试将它们的值存储在带有 UPDATE 的表中。UPDATE 语句中的“+AktuellerParameterWert+”语句只显示参数的名称,而不是预期的参数值。参数在 Anylogic 的图形界面上声明,名称类似于“Parameter12”并包含 int 值。我猜 UPDATE 语句无法连接到图形界面上的参数。对于这两个问题的任何帮助将不胜感激:)

错误:root:在 modify() 方法中执行 SQL 查询时发生错误原因:用户缺少权限或找不到对象:语句 [UPDATE konfigurations_matrix SET station1=Parameter11 WHERE produktionsschritte = 'A'] 中的 PARAMETER11

int AnzahlAvgs=4;       
int AnzahlStationen=2;  

int AvgCount;       
int StationenCount; 

String ParameterName = "Parameter";
String AktuellerParameterWert;
String Station = "station";
String AktuelleStation;
String Produktionsschritt;


for (StationenCount=1; StationenCount<=AnzahlStationen; StationenCount++) {

for (AvgCount=1; AvgCount<=AnzahlAvgs; AvgCount++) {


AktuellerParameterWert = ParameterName + StationenCount + AvgCount;


System.out.println(AktuellerParameterWert);     
        
AktuelleStation = Station + StationenCount;

Produktionsschritt = String.valueOf((char)(StationenCount + 64));

executeStatement("UPDATE konfigurations_matrix SET '"+AktuelleStation+"'="+AktuellerParameterWert+" WHERE produktionsschritte = '"+Produktionsschritt+"'"); 


   }
}

标签: anylogic

解决方案


您没有从调用 SQL 代码的位置正确引用参数。

您需要在适当的位置引用您的参数,相对于您调用 SQL 语句的位置。这是基本的 OOP,理解起来非常重要。在 AnyLogic 帮助中搜索“我在哪里以及如何到达”以了解更多信息。


推荐阅读