Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.08.2016, 09:37   #1
bilibian
Форумчанин
 
Регистрация: 21.01.2014
Сообщений: 389
По умолчанию Обновление данных в ClientDataSet

Привет!

Обновляю данные в ClientDataSet с помощью потока используя Synchronize.

Код:
if ClientDataSet1.Locate('id',10,[]) then
begin
  ClientDataSet1.Edit;
  ClientDataSet1.FieldByName('Data').Value := 'Новое значение';
  ClientDataSet1.Post;
end;
Разумеется второй параметр в Locate меняется при необходимости. При таком раскладе в таблице DBGrid начинается свистопляска и пользоваться ею невозможно, так как данные обновляются достаточно шустро. Поток просто отнимает выделение у пользователя, а это неприемлемо.

Не получается придумать иного способа обновления данных в таблице. Поможете советом?
bilibian вне форума Ответить с цитированием
Старый 28.08.2016, 09:58   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Создай клон (CloneCursor) и модифицируй в нем. Клон и основной датасет имеют общий буфер данных, но вполне могут сосуществовать с разными индексами, фильтрами и указателями на текущую запись. И Locate довольно медленный без индекса по этому полю. Создай индекс и можно быстро искать с помощью FindKey
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 28.08.2016 в 10:07.
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проблема при записывании данных из ClientDataSet в ADOQuery Zloi[DED] БД в Delphi 2 02.09.2011 08:33
шифровка данных в Clientdataset iliili БД в Delphi 1 08.07.2011 20:04
Обновление данных pusik БД в Delphi 3 25.05.2011 13:39
Обновление данных Fezdipekla Microsoft Office Access 4 25.06.2010 08:36
Обновление списка данных без потери данных в переменных VaBank БД в Delphi 13 03.06.2009 10:47