簡體   English   中英

如何使用Entity Framework 6從存儲過程中檢索輸出參數

[英]How to retrieve output parameter from stored procedure using Entity Framework 6

存儲過程:

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

CREATE PROCEDURE spInsertData
    @UNAME varchar(20),
    @Pass varchar(20),
    @Active bit,
    @City nvarchar(20),
    @Phone nvarchar(10)
AS
BEGIN
    SET NOCOUNT ON;

    -- Insert statements for procedure here
    INSERT INTO Login 
    VALUES(@UNAME, @Pass, @Active, @City, @Phone) 

    SELECT SCOPE_IDENTITY() AS Id
END
GO

C#代碼背后:

namespace AjaxJqueryDemo
{
    public partial class Reg : System.Web.UI.Page
    {
        TraineeEntities DB = new TraineeEntities();

        protected void btnReg_Click(object sender, EventArgs e)
        {
           int i = DB.spInsertData(uname.Text, Pass.Text,true, city.Text, pHno.Text);
        }
    }
}

如何獲取范圍標識,以便可以確保插入數據?

我沒有使用gridview,也沒有興趣使用它。 我怎樣才能簡單地獲取它?

請給出答案並提供更詳細的說明,以便我理解。

請檢查下面的代碼,它將為您提供更好的建議。

ALTER PROCEDURE dbo.YourProcedure
@params VARCHAR(32),
@Table1ID INT = NULL OUTPUT
AS
BEGIN
  SET NOCOUNT ON;

  BEGIN TRANSACTION;

  INSERT dbo.Table1...
  SET @Table1ID = SCOPE_IDENTITY();
  INSERT dbo.Table2...

  COMMIT TRANSACTION;
END
GO

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM