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


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

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

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


加好友 发短信
等级:七尾狐 帖子:1732 积分:11266 威望:0 精华:0 注册:2011/12/15 22:06:00
Foxtable如何接收存储过程中的返回值  发帖心情 Post By:2014/2/25 10:19:00 [只看该作者]

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

return @P1

如何获得这个@P1的值?

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/2/25 10:21:00 [只看该作者]

没有办法,只能以表的方式放回.

 回到顶部
帅哥哟,离线,有人找我吗?
ysq128
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | 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;


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/3/4 9:13:00 [只看该作者]

返回单个值可以
Dim  val As Integer
 Dim cmd As New SQLCommand
 cmd.CommandText = "Exec 存储过程"
 val  = cmd.ExecuteScalar() 

 回到顶部
帅哥哟,离线,有人找我吗?
ysq128
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | 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() )是空白的。
是我存储过程写得有问题还是什么问题。

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/3/4 9:39:00 [只看该作者]

你返回的不能够是参数

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


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

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

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/3/4 9:43:00 [只看该作者]

没办法,更改一下存储过程,返回单个值,或者以表的形式返回.

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


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

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

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/3/4 9:49:00 [只看该作者]

让写存储过程的人给你改一下.

 回到顶部
总数 11 1 2 下一页