データベース管理者が書き込んだストアドプロシージャから出力パラメータを取得しようとしています。ここにストアドプロシージャがあります。ストアドプロシージャから出力パラメータの値を取得
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の背後にあるコードです。私はEntity Frameworkを使用しています。
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
私はエラーを取得していない午前、データはデータベースに保存されますが、私は、正しい方法は、ストアドプロシージャからの出力値を取得するためにいただきました!知りません。出力パラメータの値を取得する最善の方法を提案してください。