Вниз
Скачать: CL | DM;

про TCalientDataSet.ApplyUpdate   Найти похожие ветки 

 
LeReve ©   (2003-07-17 17:44) [0]

народ, подскажите пожалуеста как приминить ApplyUpdate только к текущей записи, а то если поместить ApplyUdate в обработчик TDataSource.OnDataChange то она долго отрабатывается


 
AkaSaint ©   (2003-07-17 18:50) [1]

Насколько я знаю, никак... Долго, это сколько? А чем тебя не устраивает накопить некоторое количество записей и потом сделать им всем ApplyUpdates?


 
Lereve ©   (2003-07-17 21:17) [2]

а как определить сколько записей было изменино?? долго это секунды полторы, но когда набераешь текст в гриде и по нажатию на энтер чувствуется задержка, кстате почему не удаётся работать через ADO если в провайдере UpdateMode равно upWhereKeyOnly, при попытке вызвать ApplyUpdate выдаёт ошибку "Unable to find record. No key specified"


 
AkaSaint ©   (2003-07-17 22:53) [3]

Сколько записей было изменено:ClientDataSet.ChangeCount
Насчет второго, я думаю, нужно, чтобы в твоем ADOTable (или Query) был создан список полей, и задано в ProviderFlags, какие ключевые. ProviderFlags, UpdateMode объясняются в статье про MIDAS на www.rsdn.ru.


 
abc   (2003-07-18 11:44) [4]

спасибо, а если например один удалит запись а другой в это время пытается её изменить тогда как эту ошибку лучше отрабатывать?


 
AkaSaint ©   (2003-07-18 21:29) [5]

Клиенту(TClientDataSet) во время выполнения ApplyUpdates выскочит событие OnReconcileError. В этом обработчике, я думаю, ничего не останется, как сообщить пользователю, что запись была изменена или удалена другим пользователем. Или, потому что в обоих случаях будет ошибка "Row cannot be located for update...". Потом обновить данные пользователю, и он увидит, что запись исчезла...


 
abc   (2003-07-18 23:33) [6]

спасибо!



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.01 c
1-33191
TGrey
2003-07-28 22:37
2003.08.11
Позиционирование диалога открытия файла


14-33313
app
2003-07-23 13:20
2003.08.11
Моделирование человеческой личности (Dmitriy O. 23.07.03 13:17


4-33387
Dankin
2003-06-06 04:56
2003.08.11
Как можно пожно послать активному приложению команду вставить ;)


14-33370
dmtr
2003-07-25 18:17
2003.08.11
Windows 2000 Advanced Server и 3GB физической памяти


1-33108
crash_rider
2003-07-29 21:23
2003.08.11
Преобразование Pointer а Array в Плагине Winamp?




   Наверх