Главная страница
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.047 c
14-1096546298
Zlod3y
2004-09-30 16:11
2004.10.17
Скачать последнюю версию BDE


1-1096717506
UserUserov
2004-10-02 15:45
2004.10.17
Копирование файла


6-1092226017
Dextor
2004-08-11 16:06
2004.10.17
Вызов функции из библиотеи на лок.компьютере!!!


6-1091628568
IceClimber
2004-08-04 18:09
2004.10.17
Как узнать объем винта на другой машине (в локал. сети)


11-1081528249
Delphi5.01
2004-04-09 20:30
2004.10.17
Transparetn:=True