gpt4 book ai didi

java - 使用变量作为值插入到带有 Groovy 的 SQL 中

转载 作者:行者123 更新时间:2023-12-02 00:00:41 25 4
gpt4 key购买 nike

我正在尝试将变量用于插入 SQL 语句的值部分。奇怪的是,如果我复制我在调试器中看到的值,那么语句会正确运行和插入。如果我使用该变量,那么它会给我一个“抱歉,值的数量错误”错误。

这是我的插入

db.execute("""
INSERT INTO TABLE
(UNIT, ORD#, DISP, DATE, TIME, AMT, LAT, LONG, DRVR, OWNR, SETT, STAT)
values ${parsedOrderNumbers}
""")

parsedOrderNumbers 在调试器中看起来很像,但它也可能有 "" 围绕着它,因为它是一个字符串。我不确定并认为这可能是这里发生的错误或者 Groovy 如何插入 ${parsedOrderNumbers}

('12345', '1234567', '' ,'2020-04-11', '234', '35.00', '39.693702697753906', '-75.53226470947266', '', '', '', ''), ('20514', '9876543', '' ,'2020-04-12', '004', '24.00', '39.27902603149414', '-76.55120086669922', '', '', '', '') 

如果我复制它并替换 ${parsedOrderNumbers} 然后语句运行。有什么想法吗?

最佳答案

为JDBC 参数化sql 的正确方法是:

db.executeInsert("INSERT INTO TABLE MyTable VALUES (?, ?, ?)", ['some', 123, myVar])

文档:https://docs.groovy-lang.org/latest/html/documentation/sql-userguide.html#_creating_inserting_data

关于java - 使用变量作为值插入到带有 Groovy 的 SQL 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61837717/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com