SQL(DB, SQL, COL, ROW)函数执行插入操作,必须要有返回结果

楼主
我是社区第62877位番薯,欢迎点我头像关注我哦~
本帖最后由 grantkai 于 2016-7-25 20:33 编辑

今天在学习fr的时候,在按钮中用js实现insert操作,具体实现是:var sql = "INSERT INTO TABLE1(COL1) SELECT 'AA'";
var a=FR.remoteEvaluate('SQL("JDBC3", "'+sql+'", 1, 1)');
我发现无论如何调整,插入数据库表的都是两条记录,也就是说,insert操作执行了2次。后来请教gqmao老师,在老师的指导下发现,要正确使用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)');


分享扩散:
参与人数 +8 F豆 +725 理由
yzm113973 + 8 太棒了,给你32个赞,么么哒
hu151254 + 15 太棒了,给你32个赞,么么哒
兔子酱 + 666 感谢分享
zsh331 + 10 感谢分享
cherishdqy + 6 很给力!
apengjun + 5 淡定
austin1122 + 10 很给力!
macro_hard + 5 很给力!

查看全部评分

沙发
发表于 2016-7-26 08:18:26
{:8_209:}{:8_209:}{:8_209:}
板凳
发表于 2016-7-26 11:08:26
{:8_198:}{:8_199:}{:8_199:}
地板
发表于 2016-7-26 12:34:52
不知道是否算是一个BUG。确实奇怪得很。
5楼
发表于 2016-7-27 15:23:54
6楼
发表于 2016-9-5 21:27:59
给力,我也遇到了同样的问题
得到了解决!
重点:
set nocount on
与select 1缺一不可!!!
7楼
发表于 2016-12-14 20:29:40
我也遇到了同样的问题,太感谢了
8楼
发表于 2017-12-28 08:44:56
austin1122 发表于 2016-9-5 21:27
给力,我也遇到了同样的问题
得到了解决!
重点:

感谢楼主,解决了
9楼
发表于 2018-5-17 10:14:00
这个为啥 要加这个set nocount on
10楼
发表于 2018-5-18 16:12:05
11楼
发表于 2019-11-11 16:23:42
剧终 发表于 2018-5-17 10:14
这个为啥 要加这个set nocount on

当SET ONCOUNT ON时候,不返回计数,当SET NOCOUNT OFF时候,返回计数;
12楼
发表于 2021-12-22 05:59:40 发布于APP客户端
有用,标记一个
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

11回帖数 9关注人数 22462浏览人数
最后回复于:2023-6-30 20:24

返回顶部 返回列表