Форум: "Базы";
Текущий архив: 2004.10.17;
Скачать: [xml.tar.bz2];
ВнизTClientDataSet не обновляет базу при добавлении новой записи Найти похожие ветки
← →
Мирон © (2004-09-16 11:11) [0]Простая трехзвенка. Серверная часть работает только с одной TTable (Paradox). Клиент связан ч-з TSoketConnection. На клиенте есть TClientDataSet, все содержимое которого доступно непосредсвенно в TDBGrid. Проблема вот в чем: изменили какую-либо запись, вызвали TClientDataSet.ApplyUpdates, закрыли прогу, открыли прогу - все нормально, запись изменена. НО если добавить строку в таблицу, то после TClientDataSet.ApplyUpdates и перезапуска проги новой строчки нет.
← →
sniknik © (2004-09-16 11:57) [1]> НО если добавить строку в таблицу, то после
> TClientDataSet.ApplyUpdates и перезапуска проги новой строчки нет.
как раз есть! в таблице изменили так? в таблице данные новые, изменение минуя ClientDataSet в нем данные старые, дальше обновили новые данные старыми... вуаля! изменение на то что было. новой строчки нет.
если добавляеш в таблицу то в ней и делай подтверждение записи.
← →
Nikolay M. © (2004-09-16 13:03) [2]В OnReconcileError никакой ошибки не светится?
← →
Мирон © (2004-09-16 14:48) [3]
> Nikolay M. © (16.09.04 13:03) [2]
> В OnReconcileError никакой ошибки не светится?
"светится"! В момент Post"a новой записи.
> sniknik © (16.09.04 11:57) [1]
> > если добавляеш в таблицу то в ней и делай подтверждение
> записи.
Что-то туплю, это в TTable, что-ли? И как если не секрет? Заранее спасибо.
← →
sniknik © (2004-09-16 14:51) [4]Post имел ввиду. после него TClientDataSet.ApplyUpdates не делай.
← →
Мирон © (2004-09-16 15:11) [5]Я тут поковырялся немного... Короче, если на OnReconcileError сделать ShowMessage(E.Message) то выскакивает "Field value required". И тут подумалось: там же у меня есть AutoInc поле, которое ручками в сетке редактировать нельзя, и в момент "Post" оно остается пустым... Что делать? Работал с базой "напрямую" такой проблемы не было...
← →
Nikolay M. © (2004-09-16 16:50) [6]
> Мирон © (16.09.04 15:11) [5]
RTFM!
Создай у CDS Persistent-поля, у поля mycdsID сделай Required := False. Также полезно будет посмотреть значения флагов ProviderFlags у поля ID. Во избежание дальнейших ненужных вопросов.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.10.17;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.049 c