Как получить значение @@ identity после использования SqlCeDataAdapter.Update () - PullRequest
1 голос
/ 08 марта 2012

У меня было приложение, запущенное на Sql Server 2008, я решил изменить базу данных на Sql Server CE, так как я использовал ее только для одного компьютера.Теперь мне пришлось добавить другие сборки, и мне пришлось изменить SqlDataAdapter на SqlCeDataAdapter.Мне также пришлось изменить способ получения последнего значения идентификатора, созданного в таблице после вставки новой записи, это означает, что я использовал метод SCOPE_IDENTITY() и теперь я пытаюсь получить значение @@identity.Проблема в том, что если я использую SqlCeDataAdapter.Update(), это закрывает соединение после вставки, и значение @@identity сбрасывается в ноль.Как я могу получить значение @@identity тогда?

1 Ответ

0 голосов
/ 08 марта 2012

Добавьте обработчик к событию RowUpdated объекта DataAdapter в SELECT @@ IDENTITY.

Это запросит базы данных до того, как соединение будет закрыто, поэтому значение идентификатора все еще будет доступно.

...