Ваш запрос возвращает одну строку, таблицу с одним столбцом, которая содержит значение Первичный ключ последней вставленной строки данных в любой таблице в вашей базе данных, при условии, что таким первичным ключом является IDENTITY
столбец. Поскольку вам нужны фактические данные, измените свой запрос с:
SELECT @@IDENTITY
на:
SELECT @LastID = @@IDENTITY; SELECT * FROM [YourTableName] WHERE [YourPrimaryKeyColumn] = @LastID
, где [YourTableName]
- это таблица, из которой вы хотите получить вставленную строку (должна соответствовать последней команде вставки, в противном случае возвращенный набор данных либо не будет содержать строк, либо будет иметь случайно совпадающую запись - в основном, данные мусора), а [YourPrimaryKeyColumn]
- это имя столбец первичного ключа в вышеупомянутой таблице.
Также рассмотрите возможность использования SCOPE_IDENTITY или IDENT_CURRENT вместо.