有个用于更新的存储过程,我希望得到一个最后更新了的返回值,好在.NET里面根据返回值做相应的处理,该怎么整啊?我看了资料弄出来的返回的怎么提示是个对象,郁闷啊~~~~~
CREATE PROCEDURE Pr_UpdateVote (@VoteID int)
AS
UPDATE Votes SET VoteCount = VoteCount +1
WHERE VoteID = @VoteID;
SELECT SCOPE_IDENTITY();
GO

解决方案 »

  1.   

    是要返回新的投票数吗?
    在最后加上select VoteCount from Votes WHERE VoteID = @VoteID
      

  2.   

    在最后加上select VoteCount from Votes WHERE VoteID = @VoteID
    这个是可以,可是怎么上面的2个方法都无效的呢,难道上面2个方法只有在SQLSERVER2005中才可以吗,在2000里面不能用这2个方法来实现吗?
    1.SELECT SCOPE_IDENTITY();
    2.Select @@IDENTITY
      

  3.   

    CREATE PROCEDURE Pr_UpdateVote (@VoteID int)
    declare @vote_out bigint output
    ASUPDATE Votes SET VoteCount = VoteCount +1 WHERE VoteID = @VoteID
    set @votes_ount=(select VoteCount from Votes WHERE VoteID = @VoteID)
    return
    GO
      

  4.   

    int val = cmd.ExecuteNonQuery();
    return val;返回这个 val 就是 数据库所影响的行数