anylogic - 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+"'");
}
}
解决方案
您没有从调用 SQL 代码的位置正确引用参数。
您需要在适当的位置引用您的参数,相对于您调用 SQL 语句的位置。这是基本的 OOP,理解起来非常重要。在 AnyLogic 帮助中搜索“我在哪里以及如何到达”以了解更多信息。
推荐阅读
- javascript - Chart.js 一个 y 轴上的多个数据集
- jsp - request.getParameter() 在上传文件时返回 null
- apache-httpclient-4.x - 关闭 RouteSpecificPool
- visual-studio - .NET Core 无法添加 Razor 页面
- c# - 替代`IJSRuntime.Current`。即如何在从 Blazor Web Assembly 应用程序引用的库中获取“IJSRuntime”
- c - 重复函数 -> 已退出,分段错误 ç_ç
- ubuntu - wget 错误:无法验证本地主机的证书,..遇到自签名证书
- c - 静态复制可变长度的 C 字符串
- r - 在 HydeNet 中指定决策节点的自定义模型
- mysql - MySQL 从另一个表 valueone 更新第一组行,然后从 valuetwo 更新第二组行,依此类推