通过点击按钮js调用SqlServer中存储过程更新数据,怎么在点击后提示数据是否更新成功呢?

var sql="SET NOCOUNT ON EXEC dbo.p_ods_test0704"

FR.remoteEvaluate('SQL("ODS","'+sql+'",1,1)');

FineReport zjz123 发布于 2022-7-21 13:57
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
Z4u3z1Lv6专家互助
发布于2022-7-21 14:04(编辑于 2022-7-21 14:23)

在的存储过程最后 加一条

select 1 [FLAG]

然后 a=FR.remoteEvaluate('SQL("ODS","'+sql+'",1,1)'); 判断一下a如果为1 则更新成功

-----------------------------

另外给个建议把你的SQL放在一个事务里面集中提交,如果任意一步出错回滚日志即可示例如下(上面的a=0就是失败,a=1就成功):

CREATE PROCEDURE <Procedure_Name, sysname, ProcedureName> 

-- Add the parameters for the stored procedure here

<@Param1, sysname, @p1> <Datatype_For_Param1, , int> = <Default_Value_For_Param1, , 0>, 

<@Param2, sysname, @p2> <Datatype_For_Param2, , int> = <Default_Value_For_Param2, , 0>

AS

BEGIN

-- SET NOCOUNT ON added to prevent extra result sets from

-- interfering with SELECT statements.

SET NOCOUNT ON;

BEGIN TRY  

       BEGIN TRANSACTION 

      

/*你现在的SQL insert\UPDATE\DELETE */

SELECT 1 [FLAG]

       COMMIT TRANSACTION ----上面的SQL全部提交

END TRY 

BEGIN CATCH 

   SELECT 0 [FLAG]

   ROLLBACK TRANSACTION----上面的SQL任意一处出错,回滚日志撤销所有操作 

END CATCH

   

END

最佳回答
1
yzm339714Lv6中级互助
发布于2022-7-21 14:05

存储过程最后加上 select '更新成功'  ,然后 就会输入  这个内容,你js里面 var a= FR.remoteEvaluate('SQL("ODS","'+sql+'",1,1)');

FR.Msg.alert("提示",a);

最佳回答
0
snrtuemcLv8专家互助
发布于2022-7-21 14:04(编辑于 2022-7-21 14:04)

~~~~~~~~

  • 3关注人数
  • 476浏览人数
  • 最后回答于:2022-7-21 14:23
    请选择关闭问题的原因
    确定 取消
    返回顶部