查看: 1080|回复: 8

查询配置字段和表名称如何才可以用参数吗

升级   0.04%

149

主题

189

回帖

4

积分

注册会员

Rank: 2

积分
4
发表于 2024-11-24 13:13:36 | 显示全部楼层 |阅读模式

如何借助参数,灵活读取数据,定义了参数:表名称tableName、读取字段表fieldList、排序字段表orderBy、分类字段表groupBy,想根据这些参数灵活组合一个sql语句,查看了演示案例,发现只有where条件子句里用到参数,那其他子句是否不可以?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

升级   100%

139

主题

1万

回帖

4万

积分

超级版主

Rank: 8Rank: 8

积分
41458
发表于 2024-11-25 10:26:53 | 显示全部楼层
https://www.o2oa.net/forum/thread-266055-1-1.html
您这个帖子里不就已经用了参数了?
回复

使用道具 举报

升级   0.04%

149

主题

189

回帖

4

积分

注册会员

Rank: 2

积分
4
发表于 2024-11-25 15:11:18 | 显示全部楼层
本贴想解决的是:
如果参数是表名、字段列,则如何写语句,用冒号+参数名,或者问号+数字,都没有成功
目前只看到参数多用于where语句
回复

使用道具 举报

升级   100%

139

主题

1万

回帖

4万

积分

超级版主

Rank: 8Rank: 8

积分
41458
发表于 2024-11-26 09:39:11 | 显示全部楼层
用脚本去拼,表名列名都可以传
回复

使用道具 举报

升级   0.04%

149

主题

189

回帖

4

积分

注册会员

Rank: 2

积分
4
发表于 2024-11-26 15:03:03 | 显示全部楼层
本帖最后由 szjazz 于 2024-11-26 16:07 编辑



类似这样调用参数来拼接吗
回复

使用道具 举报

升级   0.04%

149

主题

189

回帖

4

积分

注册会员

Rank: 2

积分
4
发表于 2024-11-26 16:54:58 | 显示全部楼层

不用拼接,直接写到sql语句里,经测试发现只有where子句可以正确使用参数(不管是采用冒号+参数名,或是问号+数字),返回正确的结果
[AppleScript] 纯文本查看 复制代码
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 ?} [code=1008, state=S0001]

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

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

升级   0.04%

149

主题

189

回帖

4

积分

注册会员

Rank: 2

积分
4
发表于 2024-11-28 09:12:25 | 显示全部楼层
麻烦请管理员也测试下效果,谢谢!
回复

使用道具 举报

升级   100%

139

主题

1万

回帖

4万

积分

超级版主

Rank: 8Rank: 8

积分
41458
发表于 2024-11-29 09:23:22 | 显示全部楼层
变量的用法是只适用参数的
回复

使用道具 举报

升级   0.04%

149

主题

189

回帖

4

积分

注册会员

Rank: 2

积分
4
发表于 2024-11-29 09:29:17 | 显示全部楼层
论坛管理员 发表于 2024-11-29 09:23
变量的用法是只适用参数的

我想落实的是,该参数变量,是否只能用于where子句,因为我简单的测试过,在其他的sql子句里无法使用到参数
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

联系客服 关注微信 下载APP 返回顶部 返回列表
viewthread