c1644470 发表于 2022-11-29 09:30:53

关于自定义查询传参问题

UPDATE htinfo o SET o.ht_id = :ht_id , o.subject = :set_list WHERE o.org = 'xxx'


请问,能否做到,划线部分,整体通过参数传递?


var set_data = {
"name" : "newStatement3", //(String)必选,查询配置的名称、别名或ID
"mode" : "data"
}
var promise = this.statement.execute(set_data);
promise.then(function(data){
console.log(data)
    //data 为返回的数据。
})

然后,除了用这个方式调用查询,有没有别的借口可以直接根据查询名称调用?



论坛管理员 发表于 2022-11-29 09:56:25

目前没有提供查询配置的update,您这是要修改自建表数据吗,有自建表的相关方法和接口去增删改查的

c1644470 发表于 2022-11-29 10:33:54

论坛管理员 发表于 2022-11-29 09:56
目前没有提供查询配置的update,您这是要修改自建表数据吗,有自建表的相关方法和接口去增删改查的 ...
这是批量修改的,如果用接口,会很大工作量,本来一条update可以解决的,用接口的话,要写forEach,还要不停的更新。

或者可以换个提问方式:
有没有接口,可以直接执行一段文本形式的查询语句
例如:

"UPDATE htinfo o SET o.ht_id = 'xxx' , o.subject = 'xxx' WHERE o.org = 'xxx'"

论坛管理员 发表于 2022-11-29 15:58:22

目前没有提供update的jpql语句修改数据库表

c1644470 发表于 2022-11-30 11:16:22

论坛管理员 发表于 2022-11-29 15:58
目前没有提供update的jpql语句修改数据库表

https://www.o2oa.net/cms/datacenter/177.html

请问您在其他帖子中提到的,通过脚本创建语句,有接口可以传参吗?

论坛管理员 发表于 2022-12-1 09:46:47

c1644470 发表于 2022-11-30 11:16
https://www.o2oa.net/cms/datacenter/177.html

请问您在其他帖子中提到的,通过脚本创建语句,有接口可 ...
脚本创建语句可以传参,但是也不能update

c1644470 发表于 2022-12-1 09:55:15

本帖最后由 c1644470 于 2022-12-1 09:57 编辑

论坛管理员 发表于 2022-12-1 09:46
脚本创建语句可以传参,但是也不能update
这个我已经测试过了,也是可以的,现在代码改成

var tmp_text
var set_list
var org
var sql ="UPDATE htinfo o SET o.ht_id = '"+tmp_text+"' , o.subject = '"+set_list+"' WHERE o.org = '"+org+"'"
return sql;


{
    "ht_name" : "ht_id11",
    "ht_id" : "test_id'11",
    "set_list" : "testlist",
    "org" : "何富祥"
}


在查询设计页面运行,已经是有效了

请问我要调用这个查询,查询名称是”合同审核完毕“,应用名称是”合同管理“,具体要用哪个语句调用,并把上面的几个参数传过去

论坛管理员 发表于 2022-12-1 16:24:45



参考一下api

c1644470 发表于 2022-12-5 12:37:33

论坛管理员 发表于 2022-12-1 16:24
参考一下api

谢谢,已解决,放上代码分享一下

//调用脚本
this.statement.execute({
"name": "ht_updata",
"mode" : "data",
"parameter" : {
    "ht_name" : "表名", //表名
    "ht_serial" : "合同序列号", //合同序列号
    "name_list" : "", //列名列表,多个时为数组
    "data_list" : "" //数据列表,多个时为数组
}
}, function(json){});

//查询代码

var ht_name = parameters.ht_name
var ht_serial = parameters.ht_serial
var name_list = parameters.name_list
var data_list = parameters.data_list

if(typeOf(name_list) == "string" && typeOf(data_list) == "string"){
    set_data = "o." + name_list + " = '" + data_list + "'"
    }else if(typeOf(name_list) === "array" && typeOf(data_list) === "array" && name_list.length == data_list.length){
    set_data = "o." + name_list + " = '" + data_list + "'"
    for(k=1;k<name_list.length;k++){
      tmp_data = ",o." + name_list + " = '" + data_list + "'"
      set_data = set_data + tmp_data
    }
   
}else{
    return
}
    return "UPDATE " + ht_name + " o SET " + set_data + " WHERE o.ht_serial = '"+ ht_serial +"'")
页: [1]
查看完整版本: 关于自定义查询传参问题