![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Поле uniqueidentifier запоздало генерирует своё значение? [D7, MSSQL]
Shlomo © (2006-04-27 13:01:00)Здравствуйте!
Помогите, пожалуйста, разобраться.
Есть приложение, которое работает с базой данных типа SQL Server 2000. В таблицу с полем типа uniqueidentifier вводятся значения, но если сразу попытаться удалить эту запись он выдаёт ошибку:
«Не удаётся найти строку для обновления. Некоторые значения могли быть изменены со времени ее последнего чтения.»
То есть это поле, во время работы программы, получает какие-то нули, а не генерирует уникальный ключ. Конечно, если закрыть и открыть набор данных нововведенные данные получат этот ключ. Но не делать же после добавления записи Close а потом Open. Как же решить эту проблему красиво?
sniknik (2006-04-27 15:12:00) [1]попробуй сразу после Open выполнить
ADODataSet.Properties['Update Resync'].Value:= adResyncAll;
(uses ADOInt)
Johnmen (2006-04-27 14:43:00) [2]
> Shlomo ©
М.б. Requery спасёт отца русской демократии?
Nikolay M. (2006-04-27 14:39:00) [3]Как один из вариантов - генерировать вставляемый GUID ДО отправки его на сервер: SELECT NEWID () и присваивать его значение соотв. полю на клиенте. Тогда ничего не нужно будет обновлять.
Shlomo (2006-04-27 14:01:00) [4]вот рисунок:
http://i81.photobucket.com/albums/j235/ggg777ggg/GUID.jpg
Плохиш (2006-04-27 13:44:00) [5]
> Shlomo © (27.04.06 13:01)
Refresh на спасёт отца русской демократии?
Nikolay M. (2006-04-27 13:42:00) [6]
> В таблицу с полем типа uniqueidentifier вводятся значения
Как именно "вводятся"?
> но если сразу попытаться удалить эту запись
Какую "эту"???
> То есть это поле, во время работы программы, получает какие-
> то нули, а не генерирует уникальный ключ.
Как поле может что-то генерировать?
ПС
Автор, отсыпь такой чудо-травы или напиши по-человечески, что хочешь.
evvcom (2006-04-27 13:32:00) [7]
> Запись добавляется, после команды Post она уже не удаляется,
> выдаёт это сообщение.
Судя по расставленным запятым смысл должен быть таким:
1. Запись добавляется.
2. После команды Post она уже не удаляется.
3. Выдаёт это сообщение.
Что? После команды Post выдается сообщение [0]? А как же тогда "если сразу попытаться удалить эту запись"? Что-то я ничего не понял.
Val (2006-04-27 13:18:00) [8]не было коммита, вероятно, сервер не вернул идентификатор и "не знает" что удалять.
Shlomo (2006-04-27 13:16:00) [9]
> как вам удается "сразу" удалять запись в режиме вставки?
Не понял?
Запись добавляется, после команды Post она уже не удаляется, выдаёт это сообщение.
Val (2006-04-27 13:09:00) [10]как вам удается "сразу" удалять запись в режиме вставки?