使用空手道 dsl 仅提取值而不提取 SQL 中的列名

我在我的测试场景中使用空手道来满足通过传递计划 ID 来更新合同计划的要求,我正在从数据库中检索 planId 并将其传递给我的请求 json。

但是我面临的问题是列名,而我只需要值。

下面是我如何通过连接到数据库来获取我的 Id 的示例

`@Scenario1 场景:

使用 jdbc 验证

  • def config = { 用户名:'mmultapp',密码:'Mmu1t@pp',url:'jdbc:db2://edb2dev3.momentum.co.za:60022/MMULTTST',driverClassName:'com.ibm.db2.jcc .DB2Driver'}

  • def DbUtils = Java.type('wellness_core_utils.DbUtils')

  • def db = new DbUtils(配置)

  • def productId = db.readRows('select PRODUCT_ID from MULTUSR1.PLANS order by PLAN_ID desc fetch first 1 rows only')

  • 打印产品编号`

我以这种方式得到结果

{    "PRODUCT_ID": 68  }

我只需要读取 68 的值,这样我就可以将它传递给我的 json 请求

提前致谢


萧十郎
浏览 90回答 1
1回答

开满天机

查询返回一个你在查询中写的键值对,假设你写select PRODUCT_ID AS pId from MULTUSR1.PLANS order by PLAN_ID desc fetch first 1 rows only;所以它返回一个PRODUCT_ID名称为pId. 稍后,您可以根据需要使用该结果让我们在您的实例中尝试一下。def productId = db.readRows('select PRODUCT_ID from MULTUSR1.PLANS order by PLAN_ID desc fetch first 1 rows only').PRODUCT_ID;  const result =  productId.PRODUCT_ID;注意:请检查您的查询结果的第一种类型 Like It's in[]或{} In above instance I consider it in{}const result = [{ PRODUCT_ID: 87 }];  console.log(result[0].PRODUCT_ID);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java