Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Поле 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]

как вам удается "сразу" удалять запись в режиме вставки?


Наверх

Титульная страница Поиск, карта сайта Написать письмо