js执行SQL语句

var insertsql = "SQL(\"YTReport\",\"INSERT INTO MONTH_BASE_liucheng(VC_ID, N_STATUS, VC_CREATE_OPER, D_CREATE_DATE) VALUES(1, 1,1,1)\",1,1)";

alert(insertsql);

FR.remoteEvaluate(insertsql);

正常来说这段语句只会执行一次写入一条数据,但结果却写入了两次一样的数据。这是为什么?

FineReport MV科技 发布于 2023-12-27 15:49
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
用户k6280494Lv6资深互助
发布于2023-12-27 15:52

不支持INSERT

最佳回答
0
linbodingLv6中级互助
发布于2023-12-27 15:52(编辑于 2023-12-27 15:53)

https://bbs.fanruan.com/wenda/question/111956.html

为什么执行二次,下面有介绍;建议用存储过程来实现该功能!

——————————————————————————————————————

SELECT 'AA'";

var a=FR.remoteEvaluate('SQL("JDBC3", "'+sql+'", 1, 1)');

当插入数据库表的都是两条记录,也就是说,insert操作执行了2次。

— 正确使用SQL()函数插入数据,被执行的sql必须要有返回结果集,否则,就会执行2次。

下面的代码,执行结果就只插入1条。

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

存储过程:

create proc test_w

(@t varchar(50))

as

set nocount on

insert into table1(col1) select @t

select 1

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

按钮代码:

var sql="exec test_w 't11111tt'";

var a=FR.remoteEvaluate('SQL("JDBC3", "'+sql+'", 1, 1)');

最佳回答
0
snrtuemcLv8专家互助
发布于2023-12-27 15:53
  • 3关注人数
  • 166浏览人数
  • 最后回答于:2023-12-27 15:53
    请选择关闭问题的原因
    确定 取消
    返回顶部