我正在使用ASP.NET,C#和SQL Server 2012。
我有一个按钮,它将插入到名为images
的表的新行中,并且我正在使用identity
为image_id
生成新的整数id。
我也有其他使用image_id
作为外键的表。
我想要的是将新生成的image_id
的值存储在变量中,并在以后与其他函数一起使用。
我无法使用最后一行的值,因为我会将表格与其他按钮一起使用,如果同时单击它们,则可能会获取其他人的数据。
有没有一种方法可以将新插入的行的确切ID保存在变量中?
最佳答案
在您插入新记录时(作为同一批处理的一部分),还调用scope_identity()
并将结果返回给程序。它可能看起来像这样:
int newIDValue;
using (var cn = new SqlConnection("connection string here"))
using (var cmd = new SqlCommand("INSERT INTO [table] (...) VALUES (...); SELECT scope_idenity;"))
{
cn.Open();
newIDValue = (int)cmd.ExecuteScalar();
}
请注意,SQL命令实际上是如何在同一字符串中包含两个语句。
关于c# - 将ID身份值存储在变量中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53285798/