首页 新闻 会员 周边 捐助

存储过程执行SELECT @ID, @Name 后,RETURN 不执行了?

0
悬赏园豆:30 [已关闭问题]

事情是这样的:

DECLARE @ID int

DECLARE @Name nvarchar(50)

IF(....)

   RETURN 1     // 此处正常

IF(....)

  RETURN 2     // 此处正常

......................

SELECT @ID=XXX, @Name=XXXX FROM tableX WHERE XX=XX  -- 语句1, 赋值

SELECT @ID, @Name    -- 语句2, 读取

UPDATE abc SET .......   -- 语句3, 更新一些东西

RETURN 0   --- 语句四 (问题所在)

================================================

在SQL SERVER 查询编辑器里可以得到语句四的值(此处是0),但是通过cmd.ExecuteReader 之后,得到的总是NULL.

凡是放在语句2之前的RETURN语句都可以得到值(如'1', '2'),凡在语句2之后就变成NULL。 但是语句3可以正常执行。

查询编辑器里执行都是合乎逻辑的结果。

可是用SqlParameter(......Direction.RetrunValue.....) 接收,总是得不到语句四的0。

Hunts.C的主页 Hunts.C | 菜鸟二级 | 园豆:266
提问于:2009-04-20 22:32
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册