【发布时间】:2020-05-16 13:41:01
【问题描述】:
我正在尝试将变量用于插入 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},那么语句就会运行。有什么想法吗?
【问题讨论】:
-
你在使用
groovy.sql吗? -
您能否打印(调试)
${parsedOrderNumbers}的值并检查其中的内容,以及它与您的硬编码字符串有何不同 -
当我在调试器中查看它时,它会在字符串的开头和结尾显示 "。这是我看到的唯一区别。像 "('12345'、'1234567' 等。 .)"
-
是的,我正在使用 groovy.sql