Foxtable(狐表)用户栏目专家坐堂 → Foxtable如何接收存储过程中的返回值


  共有4428人关注过本帖树形打印复制链接

主题:Foxtable如何接收存储过程中的返回值

帅哥哟,离线,有人找我吗?
ysq128
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:251 积分:2594 威望:0 精华:0 注册:2011/4/27 11:37:00
  发帖心情 Post By:2014/3/4 9:09:00 [显示全部帖子]

得不到return,那做SQL事务。那怎么判断是SQL正常执行了。还是回滚了呢。
USE [webapp]
GO
/****** 对象: StoredProcedure [dbo].[Pr_Order_Edit] 脚本日期: 03/04/2014 08:40:25 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER proc [dbo].[Pr_Order_Edit]
@order varchar(255),
@editor varchar(255),
@ordercount int
as
BEGIN TRAN --开始事务
BEGIN TRY
--update xx_order set [editor]= @editor where [editor] =0
update xx_order set [editor]= @editor where id = 31

IF(@@rowcount <> @ordercount)
BEGIN
ROLLBACK TRAN --回滚
return -11;
END
COMMIT TRAN --提交事务
return -11;
END TRY
BEGIN CATCH
ROLLBACK TRAN --回滚
return -7 ;

END CATCH;


 回到顶部
帅哥哟,离线,有人找我吗?
ysq128
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:251 积分:2594 威望:0 精华:0 注册:2011/4/27 11:37:00
  发帖心情 Post By:2014/3/4 9:38:00 [显示全部帖子]

Dim cmd As New SQLCommand
Dim val As Integer
cmd.C
cmd.CommandText ="exec Pr_Order_Edit '1','88','1' "
val  = cmd.ExecuteScalar() 
output.show(val)


执行后。无论是正常运行还是说回滚了。都是同一个值0
如果直接输出output.show(cmd.ExecuteScalar() )是空白的。
是我存储过程写得有问题还是什么问题。

 回到顶部
帅哥哟,离线,有人找我吗?
ysq128
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:251 积分:2594 威望:0 精华:0 注册:2011/4/27 11:37:00
  发帖心情 Post By:2014/3/4 9:42:00 [显示全部帖子]

那有参数。我要知道判断是SQL正常执行了。还是回滚了。有什么办法吗?

 回到顶部
帅哥哟,离线,有人找我吗?
ysq128
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:251 积分:2594 威望:0 精华:0 注册:2011/4/27 11:37:00
  发帖心情 Post By:2014/3/4 9:47:00 [显示全部帖子]

表的形式返回.怎么讲?
语句是update的。
存储过程怎么把需要返回的值转换成表的形式呀。

 回到顶部