[英]The importance of 'SELECT CAST(SCOPE_IDENTITY() as int)' in DapperORM
[英]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.