Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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 в нем данные старые, дальше обновили новые данные старыми... вуаля! изменение на то что было. новой строчки нет.
если добавляеш в таблицу то в ней и делай подтверждение записи.


Наверх

Титульная страница Поиск, карта сайта Написать письмо