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