【发布时间】:2017-09-19 16:59:02
【问题描述】:
我正在尝试从我的数据库管理员编写的存储过程中获取输出参数。这是存储过程。
ALTER PROCEDURE [dbo].[sb_AddStudent]
-- Add the parameters for the stored procedure here
@FirstName varchar(25),
@LastName varchar(25),
@Address varchar(300),
@SID int output
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
BEGIN TRANSACTION
INSERT INTO StudentMaster(EntryDate, FirstName, LastName)
VALUES (getdate(), @FirstName , @LastName);
IF @@ERROR <> 0
GOTO ErrorHandler;
SELECT @SID= max(SID)
FROM StudentMaster
COMMIT TRANSACTION
RETURN 0;
-- if there is an error after any insert/update statement, it will go here --
ErrorHandler:
ROLLBACK TRANSACTION;
RETURN @@error;
END
这是我在 vb.net 中的代码。我正在使用实体框架。
Dim outputParameter As Entity.Core.Objects.ObjectParameter = New Entity.Core.Objects.ObjectParameter("SID ", GetType(Integer))
db.sb_AddStudent(FirstName, LastNmae, Address, outputParameter)
dim SID = outputParameter.Value
我没有收到任何错误,数据已保存到数据库中,但我不知道从存储过程中获取输出值的正确方法是什么。请建议获取输出参数值的最佳方法。
【问题讨论】:
标签: vb.net entity-framework stored-procedures