Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.10.17;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.049 c
1-1097017042
Kirilllius
2004-10-06 02:57
2004.10.17
TreeView


14-1096277529
panov
2004-09-27 13:32
2004.10.17
Безопасность ICQ.


1-1096359447
Jolik
2004-09-28 12:17
2004.10.17
stdcall в D5 & D7...


14-1095943257
Igorek
2004-09-23 16:40
2004.10.17
Генератор патчей


3-1095428871
Morrison
2004-09-17 17:47
2004.10.17
Как реализовать поле с суммой значений из другой таблицы?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский