Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.10.17;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.026 c
6-1092032219
Wolfram
2004-08-09 10:16
2004.10.17
Проблема с ICS


9-1087222996
Uncle Archi
2004-06-14 18:23
2004.10.17
OpenGL


3-1095518094
Knapp
2004-09-18 18:34
2004.10.17
"Query is too complex"


3-1095768608
Vasis
2004-09-21 16:10
2004.10.17
Русские буквы в FB


4-1094845471
Зяц
2004-09-10 23:44
2004.10.17
Консоль и GUI двойной удар