Перейти к содержанию
Fire Monkey от А до Я
  • 0

FireDAC: Edit/Post для TFDQuery с изменением данных в БД [sqlite]


notricky

Вопрос

Собственно как это делают люди?

Речь, конечно, не про выполнение скрипта "update table set...", а про использование Edit/Post с изменением как в Датасете, так и в БД.

Какие нужны настройки, в частности у TFDQuery.

// настройки qr.UpdateOptions = [KeyFields = id][UpdateChangedFields = true]
// при этом селект не смотрит напрямую в theTable, но id - это поле theTable
qr2.UpdateOptions.UpdateTableName := 'theTable';
qr2.Edit;
qr2.FieldByName('Str').Value := Format('%s-%d',[qr2.FieldByName('Str').AsString, Code]);
qr2.Post;

В такой форме позволяет менять датасет, но в БД данные не скидываются. БД SQLite.

Изменено пользователем notricky
Ссылка на комментарий

Рекомендуемые сообщения

  • 0
2 часа назад, enatechno сказал:

1). Какое значение у qr2.CachedUpdates?

2). Как используются транзакции?

1) False. С этим же значением ФайрДАК ругается, если изменять поле, которое есть в запросе, но отсутствует в целевой таблице. Вот вроде как бы кажется что всё делает, но апдейта не дает :(

2) В неявном виде.

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...