当前位置: 首页 > 知识库问答 >
问题:

使用variable for value,用Groovy插入SQL

易品
2023-03-14

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

db.execute("""
        INSERT INTO TABLE 
        (UNIT, ORD#, DISP, DATE, TIME, AMT, LAT, LONG, DRVR, OWNR, SETT, STAT) 
        values ${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', '', '', '', '') 

共有1个答案

辛承志
2023-03-14

为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

 类似资料:
  • 我想在詹金斯中强制执行以下场景: 我有工作A和工作B 我想在执行作业B时禁用作业A,在执行作业B后,我想再次启用作业A。 为了启用/禁用作业A,我使用了Groovy插件:Groovy插件 Groovy插件提供了两种可能性:执行Groovy脚本和执行系统Groovy脚本。 在开始执行作业B时,我添加了以下代码片段: 执行工作B后: 当我运行作业B时,它失败了,出现以下异常: 当我运行作业B时,它失败

  • 问题内容: 我想使用groovy脚本从Maven执行jmeter测试,但出现以下错误。为了设置jmeter和maven,我做了这里描述的操作。 我是否应该将groovy函数和实体打包到jar中,然后复制到jmeter的lib目录中,然后仅将那些groovy脚本放在包含采样器代码的jmx文件旁边? 问题答案: 我找到了答案: 我需要将要在测试中使用的库打包到jar中,并将其放入目录中 我必须对齐Sa

  • 问题内容: 我想使用SqlDataAdapter将行插入数据库。我在CustomerOrders数据库中有2个表(Custormers和Orders),并且有上千条记录。我想创建一个GUI(TextBoxes),用于将新客户和订单添加到数据库中的相应表中。 我该怎么办? 我猜通常遵循的方法是 现在,从文本框中获取值(或使用DataBinding)将新行添加到dataSet中并调用 但是问题是为什么

  • 问题内容: 随着我越来越多地将Groovy与Jenkins Workflow插件配合使用,我开始意识到可以在多个脚本中使用的可重用代码。 共享此代码的最佳方法是什么?是否可以使用共享代码生成我自己的.jar并在Workflow脚本中利用它?还是有更简单的方法? 问题答案: 我实际上通过使用我们自己的git repo最终完成了这项工作,但在工作流库/ src中放置了一个符号链接以指向该repo。

  • 问题内容: 我正在通过Groovy配置Active Directory。我能够通过UI通过活动目录进行身份验证,这意味着端口和身份验证不是问题。我有以下基于LDAP插件的内容: 这是错误: 对这个错误有任何见解吗? 更新 新密码 新错误 问题答案: 因此,有了建议中的所有新增功能, 尝试: adrealm =新的ActiveDirectorySecurityRealm(域,站点,bindName,

  • 我正在尝试使用https://github.com/groovy/groovy-android-gradle-plugin使用Android Studio 1.1.0: 我有一些从Android SDK类扩展的Groovy类,我的应用程序Java从Groovy类扩展的类。Groovy类在src/main/groovy下,Java类在src/main/java下。 非常棒: 爪哇: 当我构建项目时,