【发布时间】:2011-07-25 05:57:29
【问题描述】:
我正在用以下方式编写存储过程..
CREATE PROCEDURE spTest
@intCompId int,
@varCompName varchar(50)
AS
BEGIN
BEGIN TRANSACTION
BEGIN TRY
INSERT INTO tblCompanyMaster(CompId,CompName)
VALUES (@intCompId,@varCompName)
IF(@@ERROR<>0)
RAISERROR('Error',10,1)
SELECT ERROR_MESSAGE()
IF(@@ERROR=0)
BEGIN
COMMIT TRANSACTION
SELECT 0;
END
ELSE
ROLLBACK TRANSACTION
END TRY
BEGIN CATCH
ROLLBACK TRANSACTION
END CATCH
END
GO
在这种情况下,如果发生错误,它将返回错误消息。我用 sqlcommand 属性从前端调用这个 sp,比如 oSqlcommand.executeNonQuery();它将返回受影响的行数,否则返回零。现在我想要的是,如果存储过程中出现任何错误,那么 error_message() 返回的消息应该在前端作为异常捕获,因为我正在将每个异常写入文本文件中。如何在前端捕获此消息? 我的编码风格如下......
try
{
//Some code
}
catch(exception ex)
{
//Write exception in text file.
}
我想在 ex. 处处理该消息。
【问题讨论】:
标签: asp.net sql-server stored-procedures