szjazz 发表于 2024-12-3 22:41:32

参数变量是否只能用于where子句

简单的测试过,在其他的sql子句里无法使用到参数

希望管理员也测试下,是否如此

不用拼接,直接写到sql语句里,经测试发现只有where子句可以正确使用参数(不管是采用冒号+参数名,或是问号+数字),返回正确的结果
var sql="select :fieldList from view_zz_form where xname like :xname";

return sql;

测试反馈如下:
1、字段列表用参数:fieldList,则返回的结果集,将参数值当成列名处理了,而不是字段了

2、在order by子句里用参数,报错:
ORDER BY 编号 1 标识的 SELECT 项包含一个变量,作为标识列位置的表达式的一部分。按照引用列名的表达式排序时,只允许使用变量
{prepstmnt 627427216 select ? from view_zz_form where xname like ? order by ?}

3、在group by子句用参数,报错:
每个 GROUP BY 表达式必须至少包含一个不是外部引用的列。 {prepstmnt 1416793338 select formType,xappName,xname from view_zz_form where xname like ? group by ?}

麻烦请管理员也测试下效果,谢谢!

论坛管理员 发表于 2024-12-4 11:04:03

参数只能用于where条件

wangbo9988 发表于 2025-4-15 16:18:29

论坛管理员 发表于 2024-12-4 11:04
参数只能用于where条件

请问我想在流程启动前,弹出一个html生成的注意事项提示框,编写脚本时,使用this.from.dialog,提示cannot readproperty ‘dialog’of undefined,有什么可以解决办法吗?就是在点击新建流程前,弹出提示框,点击确定新建流程,点击取消则取消。
页: [1]
查看完整版本: 参数变量是否只能用于where子句