public static void CreateSocialGroup(string FBUID)
{
string query = "INSERT INTO SocialGroup (created_by_fbuid) VALUES (@FBUID); SELECT @@IDENTITY AS LastID";
using (SqlConnection connection = new SqlConnection(ConnectionString))
{
SqlCommand command = new SqlCommand(query, connection);
command.Parameters.AddWithValue("@FBUID", FBUID);
connection.Open();
command.ExecuteNonQuery();
}
}
Run Code Online (Sandbox Code Playgroud)
这是正确的方法吗?我如何将LastID输入变量?谢谢
建议的副本不回答标题中的问题.
我想执行两个MSSQL命令而没有任何其他"用户"(我不确定什么是正确的术语)在它们之间执行命令.
在搜索中,我发现了两种似乎可以实现这一目标但却不确定的方法:
使用TABLOCK. - 但我看到它被认为是不好的做法.
使用事务 - 但我能找到的只是它是原子的,而不一定是锁定其他动作.
什么方法是正确的方法?
更多信息:只有我的程序将访问数据库,但它可能来自它的几个实例,我不介意短暂的等待 - 如果一个实例必须排队等待一两秒 - 那很好.
编辑:我正在尝试插入一行并获得其身份.(似乎并不像我期望的那样直截了当.)