查询配置字段和表名称如何才可以用参数吗
如何借助参数,灵活读取数据,定义了参数:表名称tableName、读取字段表fieldList、排序字段表orderBy、分类字段表groupBy,想根据这些参数灵活组合一个sql语句,查看了演示案例,发现只有where条件子句里用到参数,那其他子句是否不可以?
https://www.o2oa.net/forum/thread-266055-1-1.html
您这个帖子里不就已经用了参数了? 本贴想解决的是:
如果参数是表名、字段列,则如何写语句,用冒号+参数名,或者问号+数字,都没有成功
目前只看到参数多用于where语句
用脚本去拼,表名列名都可以传 本帖最后由 szjazz 于 2024-11-26 16:07 编辑
https://www.o2oa.net/forum/data/attachment/forum/202411/25/6743e653d73d8.png
类似这样调用参数来拼接吗
不用拼接,直接写到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-11-29 09:23
变量的用法是只适用参数的
我想落实的是,该参数变量,是否只能用于where子句,因为我简单的测试过,在其他的sql子句里无法使用到参数
页:
[1]