关于调用存储过程的怪问题?
我的数据库服务器是在远程的,然后写了一个存储过程在数据库中,在SQL 2005的查询分析器中单独执行是没有问题的。在本地VS中调用也是执行成功的,返回值也是正确的。但是我把程序放在了远程放数据库的这台主机的IIS下,执行是成功的,存储过程执行的效果是预计的,但是返回值就不对了。比如说:该存储过程执行成功返回0,失败返回1.这是正常情况。
现在的问题是,我远程下的程序,执行存储过程实现的功能是达到了的,也就是说执行是成功的,但是返回值却是1.应该返回0呀!
下面是我的存储过程,请各位帮忙看看!!!谢谢!
CREATE PROCEDURE [dbo].[UpdateUserPwd]
(
@userID int,
@userName nvarchar(20),
@userPwd nvarchar(32)
)
AS
BEGIN
BEGIN TRAN
update [Users]
set [userPwd] = @userPwd
where [userID] = @userID
update [bbsusers]
set [password] = @userPwd
where [username] = @userName
update [bbsonline]
set [password] = @userPwd
where [username] = @userName
IF (@@error!=0)
BEGIN
RAISERROR 20001 'UpdateUserPwd: Cannot update in UserPwd '
ROLLBACK TRAN
RETURN 1
END
COMMIT TRAN
RETURN 0
END