![](/img/trans.png)
[英]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.