请教移动端js问题

下面这个代码,可以运行,但是最后没有执行 存储过程 代码。 


 单独执行存储过程是ok的。存储过程返回的值是影响的行数。


安全管理 中 已经关闭 脚本调用公式限制。


var x=_g().parameterEl.getWidgetByName('x').getValue();
alert(x);
var djj= _g().parameterEl.getWidgetByName('djj').getValue();
alert(djj);
var v_sql ="SQL(\"JDBC2\",\"exec dbo.P_Update_PageNumber "+x+","+djj+"\",1)";
FR.remoteEvaluateAsync(v_sql,

 function callback(value) {

  alert(value);

 });


monvzhilei 发布于 2020-6-24 07:25 (编辑于 2020-6-24 07:38)
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
L大大Lv7高级互助
发布于2020-6-24 08:10

移动端用不了,而且存储过程必须要有返回值才能显示

  • monvzhilei monvzhilei(提问者) 存储过程有返回值的,用select id from dbo.xx 是可以得到值的。只是存储过程不行。
    2020-06-24 08:16 
  • L大大 L大大 回复 monvzhilei(提问者) var sql = \"存储过程名称\"; var a = FR.remoteEvaluate(\'SQL(\"自定义数据库名称\", \"\' + sql + \'\", 1, 1)\'); 获取a的值
    2020-06-24 08:23 
  • monvzhilei monvzhilei(提问者) 回复 L大大 采用很多的拼接,都不太行。
    2020-06-24 08:55 
  • L大大 L大大 回复 monvzhilei(提问者) PC端是可以获取的,手机端不行的
    2020-06-24 08:58 
  • monvzhilei monvzhilei(提问者) 回复 L大大 PC端可以,移动端也是可以的。我的代码没有任何问题。经过测试,现在可以了。
    2020-06-26 18:27 
最佳回答
0
snrtuemcLv8专家互助
发布于2020-6-24 08:10(编辑于 2020-6-24 09:35)

应该是你的v_sql拼接有问题,参考下面拼接方式

var sql_var = "{call PRO_Name('TableName','uuid','" + uuid + "','" +  PARAMETER+ "','value',?)}";
var count = FR.remoteEvaluate('sql("DBName","' + sql_var + '",1,1)');



var JDBC2="JDBC2";

var v_sql ="SQL("+JDBC2+","+"exec dbo.P_Update_PageNumber "+x+","+djj+",1)";

  • monvzhilei monvzhilei(提问者) 这个拼接,用过,用FR.remoteEvaluate是可以的。 用FR.remoteEvaluateAsync,又不一样,无法成功
    2020-06-24 08:56 
  • snrtuemc snrtuemc 回复 monvzhilei(提问者) 按修改答案模式试试,你的应该是拼接sql出的问题
    2020-06-24 09:35 
  • monvzhilei monvzhilei(提问者) 这个代码没有任何问题。可以使用了。
    2020-06-26 18:26 
  • 挖坑填坑 挖坑填坑 回复 monvzhilei(提问者) 请问 参数 是怎么拼接呢
    2021-02-02 16:40 
  • 3关注人数
  • 699浏览人数
  • 最后回答于:2020-6-24 09:35
    请选择关闭问题的原因
    确定 取消
    返回顶部