You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Query Server Script自定义参数报错:未定义参数如何解决?

解决Query Server Script数据源参数未定义的错误

你遇到的核心问题是:你在查询脚本里使用了Usuario参数,但没有在Horas数据源的参数配置中正式定义它,这就是报错提示“Parameter 'Usuario' is used in 'where' clause but not defined in property 'parameters'”的原因。另外你的脚本还有几个小细节需要调整,下面一步步帮你解决:

步骤1:在数据源中定义Usuario参数

  1. 打开Horas数据源的配置界面
  2. 找到「Parameters」(参数)板块,点击添加按钮
  3. 创建一个名为Usuario的参数,确保参数类型和你的Registros模型中Usuario字段的类型完全匹配(比如如果字段是字符串类型,参数就选String)
  4. 保存数据源配置

步骤2:修正查询脚本的语法和逻辑

把你的Horas数据源脚本替换成下面的代码:

var query = app.models.Registros.newQuery();
// 将数据源的参数绑定到查询参数
query.parameters.Usuario = parameters.Usuario;
// 正确的参数占位符语法是 :参数名,不需要加?
query.where = 'Usuario = :Usuario';
var filteredRegistros = query.run();
// 必须返回查询结果,否则页面无法获取数据
return filteredRegistros;

脚本调整说明:

  • 去掉了where子句里多余的?:App Maker的查询参数占位符格式是:参数名,不需要额外的问号
  • 显式绑定参数:通过query.parameters.Usuario = parameters.Usuario把数据源的参数传递给查询,这样能确保参数关联更清晰(也可以省略这行,直接用:Usuario,只要数据源已经定义了参数,App Maker会自动映射,但显式绑定更易维护)
  • 添加return语句:Query Server Script必须返回查询结果,否则页面的数据源拿不到过滤后的数据

步骤3:验证双向绑定路径

回到页面的textField组件,确认它的value属性和datasources.Horas.parameters.Usuario(注意是datasources.Horas.parameters,不是datasources.Horas.query.parameters)双向绑定——数据源的参数是直接挂在数据源本身的,而非query对象上,这是容易踩的小坑。

完成以上步骤后,运行应用,输入Usuario的值就能正常过滤数据表了。

内容的提问来源于stack exchange,提问作者Ignacio Baixauli

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 07:32:35