Вниз
Скачать: 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.025 c
3-1094998993
ANB
2004-09-12 18:23
2004.10.17
Получение всех сообщений и DataSet-ов из MS SQL


9-1087305854
Developer
2004-06-15 17:24
2004.10.17
А как сделать заставку в начале, которая плавно появляеться..


6-1091792327
Nata
2004-08-06 15:38
2004.10.17
Служба


11-1080335740
nester
2004-03-27 00:15
2004.10.17
Почему не работают события popupmenu в trayicon


1-1096363015
misha123
2004-09-28 13:16
2004.10.17
Множественное наследование?




   Наверх