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

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

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.07.2013, 14:03   #1
undead92
Пользователь
 
Регистрация: 26.12.2009
Сообщений: 95
По умолчанию как правильней? редактирование dbgrid

Привет! я очень долго ковырял как редактировать запись dbgrid, при условии что в нем отображается результат запроса

у меня delphi+mydac(MYSQL)


после долгих мучение сделал так: в myqry1(тот что привязан к dbgrid)

в keyfields вписал поля, которые выводит запрос, потом в опцию sqlupdate добавил


Код:
update ofice
set
  naimenov = :naimenov,
  stpro = :stpro,
  opisa = :opisa
  
where
  naimenov = :OLD_naimenov and
  stpro = :OLD_stpro and
  opisa = :OLD_opisa
все теперь редактируется. НО! делал так со 2 гридом, что то не получилось, и тут случайно поставил галочку CachedUpdates и все, все отлично редактируется без всяких sqlupdate и keyfields.


Вопрос - что правильней использовать, чтобы избежать каких-либо ошибок в будущем -

1. sqlupdate и keyfields
2. cachedupdates
3. и то и то (проверял, тоже пашет)
undead92 вне форума Ответить с цитированием
Старый 15.07.2013, 21:00   #2
Vapaamies
Ваш К. О.
Участник клуба
 
Аватар для Vapaamies
 
Регистрация: 26.12.2012
Сообщений: 1,770
По умолчанию

Цитата:
Сообщение от undead92 Посмотреть сообщение
случайно поставил галочку CachedUpdates и все, все отлично редактируется без всяких sqlupdate и keyfields.
А на сервере оно сохраняется? Вроде при включенном CachedUpdates происходит лишь локальное редактирование, а на сервер должно отправляться вызовом ApplyUpdates, -- вот тут-то и потребуются KeyFields.

Кстати, при установленом KeyFields вписывать еще и UpdateSQL нет надобности, если обновляется та же таблица, что и выбирается select-ом... Гм. Давно на DAC-компонентах не писал... Возможно, там еще свойство есть, где имя таблицы устанавливается, вроде UpdatingTable... Не помню.

Для таких вещей вообще-то справка есть, и у DAC-компонентов она очень качественная. Выбор редакции, советую.
Vapaamies вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Редактирование данных в DBGrid II_Dimit_II БД в Delphi 2 28.05.2013 09:43
Как правильней и проще реализовать генерацию сылки при поиске. Gefo PHP 1 20.01.2013 00:18
правильней как? siemwseh Общие вопросы C/C++ 1 26.11.2010 22:55
Как программно запретить редактирование ячейки в DBGrid kraw2 Компоненты Delphi 8 25.11.2010 21:16
как правильней сгрупировать(sum) строки перед записью в БД? Mugger БД в Delphi 10 14.02.2009 06:45