如何解决Anylogic:将参数值写入数据库表
我正在尝试将 Anylogic 中的参数值写入数据库表的特定单元格中。该参数在 my main 中声明,并通过函数中的特定计算获取其值。现在我想将计算出的值存储在数据库表中。
我尝试使用
INSERT INTO query (executeStatement("INSERT INTO eu (country,capital) VALUES ('Croatia','Zagreb')"); --> example from help)
...但我无法在查询中使用特定参数/作为值。我只能写直接输入(如“克罗地亚”),但不能写参数。最后,我希望表格从参数中获取当前值并将该值插入表格中。 我在帮助功能里找到了插入连接工具,可惜只有专业版才有。
有没有人知道如何处理这个问题?
谢谢你,周末愉快!
解决方法
我不知道我是否完全理解您的需求,但如果您想做的只是将值插入表中,那么您在“executeStatement
”中所做的实际上已经足够了:
INSERT INTO eu (country,capital) VALUES ('Croatia','Zagreb')
如果您所说的“特定单元格”实际上是替换给定行中现有字段的内容,则您想改用 UPDATE
:
UPDATE eu SET country='New country',capital='New capital' WHERE <some criteria matching targeted row>
警告:不要忘记 WHERE
语句,否则表格的每一行都会被这些相同的新值破坏。
如果您想要做的是插入一个或多个新行,其中填充了数据库中已存在的内容,那么您可以直接从 SELECT 查询构建数据集:
INSERT INTO eu (country,capital)
SELECT country_field,capital_field
FROM some_table
WHERE some_criteria
SELECT
语句之后的 UPDATE
查询绝对可以是任何内容。如果需要,它也可以参考同一张表。唯一的要求是形成与目标字段具有相同结构和相同类型(至少兼容)的行。
您需要调整定义 SQL 语句的字符串。
代替
"INSERT INTO eu (country,'Zagreb')"
你写
"INSERT INTO eu (country,capital) VALUES ('"+myParam1+",'"+myParam2+"')"
假设您有 2 个 String 类型的参数来保存字符串文本。
您的 dbase 列类型必须与您要写入的参数(或变量)类型相匹配
要非常小心上面的 ' 和 " 符号
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。