Ibm mobilefirst 如何以编程方式在worklight adapters中传递查询参数?

Ibm mobilefirst 如何以编程方式在worklight adapters中传递查询参数?,ibm-mobilefirst,worklight-adapters,Ibm Mobilefirst,Worklight Adapters,我可以创建worklight适配器,通过手动传递参数来部署和调用它,但我需要创建一个登录页面,当用户输入凭据时,应用程序应该通过在查询的where子句中传递他的用户名来从表中获取他/她的数据SELECT*from USER\u ACC\u TABLE where USER=? 如何以编程方式在worklight adapters中传递查询参数?如果我理解正确,您希望获取用户将在登录表单文本字段中输入的值,并在适配器请求中使用它们 也许以下问题的答案会有所帮助: 虽然它为HTTP适配器解释了这一点

我可以创建worklight适配器,通过手动传递参数来部署和调用它,但我需要创建一个登录页面,当用户输入凭据时,应用程序应该通过在查询的where子句中传递他的用户名来从表中获取他/她的数据
SELECT*from USER\u ACC\u TABLE where USER=?


如何以编程方式在worklight adapters中传递查询参数?

如果我理解正确,您希望获取用户将在登录表单文本字段中输入的值,并在适配器请求中使用它们

也许以下问题的答案会有所帮助:
虽然它为HTTP适配器解释了这一点,但获取值的JavaScript部分应该是相同的

基本上,您可以使用以下命令从输入字段获取值。您也可以将其保存在变量中:

parameters : [$('#element-name').val()]
链接问题中提供了完整的示例

对于在SQL适配器中将值传递给SQL查询,jnortey的以下回答应该会有所帮助:,这基本上是相同的


就这样。现在,SQL查询中的“?”应该得到参数的值。

如果查看文档,您将看到调用过程包括一个参数键。在您的情况下,我将使用JSON对象,如图所示

在适配器代码中,您将有如下内容:

var selectStatement = WL.Server.createSQLStatement("SELECT * FROM USER_ACC_TABLE WHERE USER = ?");

function getUserData(data) {
    var USERNAME = data.username;
    return WL.Server.invokeSQLStatement({
      preparedStatement : selectStatement,
      parameters : [USERNAME]
});
}     
var selectStatement = WL.Server.createSQLStatement("SELECT * FROM USER_ACC_TABLE WHERE USER = ?");

function getUserData(data) {
    var USERNAME = data.username;
    return WL.Server.invokeSQLStatement({
      preparedStatement : selectStatement,
      parameters : [USERNAME]
});
}