相关疑难解决方法(0)

SQL Server和C#:获取最后插入的id

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输入变量?谢谢

c# sql-server

18
推荐指数
5
解决办法
4万
查看次数

正确的方法执行2个SQL命令而不执行其他命令

建议的副本不回答标题中的问题.

我想执行两个MSSQL命令而没有任何其他"用户"(我不确定什么是正确的术语)在它们之间执行命令.

在搜索中,我发现了两种似乎可以实现这一目标但却不确定的方法:

  1. 使用TABLOCK. - 但我看到它被认为是不好的做法.

  2. 使用事务 - 但我能找到的只是它是原子的,而不一定是锁定其他动作.

什么方法是正确的方法?

更多信息:只有我的程序将访问数据库,但它可能来自它的几个实例,我不介意短暂的等待 - 如果一个实例必须排队等待一两秒 - 那很好.

编辑:我正在尝试插入一行并获得其身份.(似乎并不像我期望的那样直截了当.)

.net c# sql sql-server sql-server-2012

2
推荐指数
1
解决办法
174
查看次数

标签 统计

c# ×2

sql-server ×2

.net ×1

sql ×1

sql-server-2012 ×1