1

データベースに新しい従業員を作成する必要があり、自動生成された EmployeeID を使用する必要があります。

プロシージャを記述する方法が見つからず、C# コードで自動生成された値を使用できません。

私を助けてくださいありがとう

4

2 に答える 2

2

SCOPE_IDENTITY() 関数は、現在の SQL 実行スコープで最後に作成された Identity 値を返します。これは、INSERT を実行したばかりのストアド プロシージャで ID を見つけるための推奨される方法です。

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

SELECT SCOPE_IDENTITY();

ストアド プロシージャから C# クライアントに値を返すには、1) SELECT を使用してデータセットとして (上記のように)、または 2) ストアド プロシージャからの RETURN 値として、または 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 に答える