Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.021 c
3-1095352280
3APA3A
2004-09-16 20:31
2004.10.17
select distinct ...


14-1096261328
Ihor Osov'yak
2004-09-27 09:02
2004.10.17
XP + 160 GB = PIO ?


14-1096295178
Igorek
2004-09-27 18:26
2004.10.17
Защита CD от копирования


3-1095835523
Sandman25
2004-09-22 10:45
2004.10.17
Скроллинг DBGrid после установки SP2 для WinXP


6-1092134428
Боян Георгиев
2004-08-10 14:40
2004.10.17
Sorry, that domain isn t in my list of allowed rcpthosts (#5.7.1)




   Наверх