pstrkim писал(а):Можно ли получить его значение еще до сохранения записи?
alibek писал(а):Что за база?
Если Access, то используй серверный курсор, после rs.AddNew в поле счетчика будет актуальное значение.
Если MSSQL, то используй серверный курсор, после добавления записи в поле счетчика будет актуальное значение.
r.AddNew
r!... = ...
r.Update
MyID =r!ID
Andrey Fedorov писал(а):IMHO оно в любом случае будет известно при сервеном курсоре после AddNew, только вот актуальным я бы его не назвал - скорее резервируемое...
alibek писал(а):Нет, я проверял. В MSSQL оно NULL, значение принимает только после Update.
@@IDENTITY
scope_identity()
shady писал(а):лучше не возвращать клиенту, потому что она глобальна в пределах MSSQL. Для возвращения значения счетчика в текущей таблице после инсерта лучше использовать
- Код: Выделить всё
@@IDENTITY
- Код: Выделить всё
scope_identity()
Да я и не спорил что это нужно делать на стороне сервера, а просто уточнил, так сказать для справки.Andrey Fedorov писал(а):А не проще читать значение поля счетчика - что при этом возвращается, по твоему? А всякие там IDENTITY вообще-то для применения внутри SQL сервера, в его процедурах/триггерах/функциях...
Сейчас этот форум просматривают: Yandex-бот и гости: 102