1

我需要在数据库中创建一个新员工,并且需要使用自动生成的 EmployeeID。

找不到程序需要编写的方式并在我的 c# 代码中使用自动生成的值。

请帮帮我谢谢

4

2 回答 2

2

SCOPE_IDENTITY() 函数返回当前 SQL 执行范围内最近创建的标识值,并且是在刚刚执行 INSERT 的存储过程中查找 ID 的推荐方法。

INSERT INTO YourTable(col1, col2) VALUES "abc", "xyz";

SELECT SCOPE_IDENTITY();

您可以将存储过程中的值返回给您的 C# 客户端 1) 通过使用 SELECT(如上所述)作为数据集,或者,2) 作为存储过程的返回值,或者 3) 通过将其传递回 OUTPUT在存储过程中声明的参数。

于 2013-02-04T02:52:35.507 回答
1

像这样 :

using (var connection = new SqlCeConnection(Settings.Default.Database1ConnectionString))
    using (var command = connection.CreateCommand())
    {
        connection.Open();

        command.CommandText = @"
            INSERT Test (Name)
            VALUES (@TestName)
            ";
        command.Parameters.AddWithValue("TestName", "SomeName");
        command.ExecuteNonQuery();

        command.CommandText = "SELECT SCOPE_IDENTITY()";
        int id = command.ExecuteScalar();
    }
于 2013-02-04T03:01:14.220 回答