簡體   English   中英

選擇Cast(Scope_identity)並執行標量

[英]Select Cast (Scope_identity) and executescalar

為什么不起作用? 我收到一個錯誤消息,說數字不能為無窮大。 但是,我不得不從insert語句中刪除此語句,以便它不會兩次發布條目。 我必須在哪里合並這部分代碼以使我的代碼作為新的ID循環?

            cmd = new SqlCommand(@"SELECT CAST(scope_identity() as int)", con);

            int aID = Convert.ToInt32(cmd.ExecuteScalar());

通常,您可以有一個存儲過程來執行INSERT並返回帶有out參數的最后插入的標識,如此處示例所示: http : //www.objectreference.net/post/SCOPE_IDENTITY()-return-插入數據庫中的ID.aspx

CREATE PROCEDURE [dbo].[Customer_Insert]
    @Name VARCHAR(255),
    @Email VARCHAR(255),
    @Phone VARCHAR(255),
    @CustomerID INT OUTPUT
AS
BEGIN
    INSERT INTO dbo.Customer ([Name], Email, Phone)
    VALUES (@Name,@Email,@Phone)

    SET @CustomerID = CAST(SCOPE_IDENTITY() AS INT)
END

暫無
暫無

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

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