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

Вниз

TTable->TDataSetProvider->TClientDataSet   Найти похожие ветки 

 
Sectey ©   (2003-07-03 08:58) [0]

Добрый день.
У меня в проекте есть цепочка TTable->TDataSetProvider->TClientDataSet. Все работает нормально пока не делаешь ClientDataSet.ApplyUpdates. Тут и начинаются чудеса. Существуют ли какие либо правила, организации таких цепочек? Заранее благодарен всем.


 
Alex_***   (2003-07-03 09:16) [1]

Чудеса... И как ты представляешь себе ответ? Как бороться с чудесами? - Читать хелп. Что конкретно происходит?


 
Johnmen ©   (2003-07-03 09:22) [2]

>Sectey ©

В чем смысл применения данной цепи ?


 
BorisUK ©   (2003-07-03 09:32) [3]

... если ч чудесами то наверно так...
Повернись на стуле по часовой стрелки восемь раз и сплюнь через левое плечо на клавиатуру...
Потом произнеси молитву...


 
Соловьев ©   (2003-07-03 09:33) [4]

http://olegmotov.h1.ru/articles/inprisemidas/title.htm


 
Sectey ©   (2003-07-03 09:34) [5]

>Alex_***
1.ОШИБКА -> Unable ro resolve records. Table name not found.
2.Изменяет но при этом изменив поле в одной записи он изменяет значени данного поля во всех записях


 
Alex_***   (2003-07-03 10:35) [6]

Связка не нарушена? Должно работать,там ничего сложного нет. Попробуй на простой табличке протестировать. Кстати режим однопользовательский?


 
Romkin ©   (2003-07-03 10:37) [7]

Применяешь TTable - поставь у провайдера ResolveToDataset = true
и не мучайся


 
witchka   (2003-07-03 19:50) [8]

Я уже 2 недели ищу ответ на похожий вопрос. Буду очень благодарна за ссылку на какой-либо содержательный хелп.
Проблема в следующем:
1. Серверная часть - MTS Data Module содержит компоненты pFIBDataBase, pFIBDataset c двумя транзакциями на чтение и запись pFIBTransaction с TimeoutAction "TACommit" и TDataSetProvider.
2. На клиенте - TClientDataset. ApplyUpdates(-1) - возвращает 1 = все нормально, делаю рефреш клиентскому датасету - и никаких изменений не видно. В базу изменения заносятся только после закрытия клиентского приложения.
Я подозреваю, что где-то напортачила с транзакциями. Не знаю, где вызвать метод SetComplete.
Это мой первый проект с MIDAS, MTS, FireBird и FIBPlus library.
Жутко стыдно, но сама разобраться не могу.
Все, что описано в "Основы MIDAS" по этому поводу (ссылка выше) - я сегодня попробовала - у меня не работает.


 
BorisUK ©   (2003-07-04 08:34) [9]

witchka (03.07.03 19:50)
Твоя проблема и не проблема вовсе :)
Просто делай что то типа pFIBTransaction.Commit;
Хотя я и не работаю именно с этими компонентами...

Решение в общем такое... Надо посылать с сервера приложений команду "Закомитить данные в СУБД"
Поставь выполнение комита на AfterUpdates (или как там свойство будет называться у твоиз FIB компонентов) в RDM на сервере приложений...

Возможно даже лучше будет делать так...
Создать дополнительные методы в интерфейсе твоего сервера скажем Сommit и Rollback и вызывай их в зависимости от того что надо Подтвердить или откатить изменения...

Все зависит от постановки задачи...
Удачи!


 
witchka   (2003-07-15 16:21) [10]

Спасибо за помощь! все оказалось значительно проще :) Как я и предполагала - ошибка была в ДНК :))) Когда у меня все-таки ничего не получилось, я написала тестовый пример с теми параметрами. На этапе создания SQL-запросов для pFIBDataSet (они не захотели генериться автоматически) я поняла, что в прошлый раз ошиблась с рефреш-запросом - просто согласилась с предложенным, а он обновлял только те записи, которые уже были в наборе данных, в то время как я тестировала приложение на момент добавления новых записей! :))) В общем, глупо, конечно... Но зато узнала много нового. :) Выводы: никаких дополнительных интерфейсов и коммитов, pFIBTransactions с TimeOutAction=TACommit и Options: write, rec_version, nowait, read_committed. Все работает! :)
Еще раз - спасибо!



Страницы: 1 вся ветка

Текущий архив: 2003.08.07;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.017 c
14-20753
Yuraz
2003-07-17 15:49
2003.08.07
Предлагаю сделать форум в рамках существ. по JavaBuilder


14-20727
sad
2003-07-18 10:52
2003.08.07
cisco.log


1-20539
Borealis
2003-07-25 23:28
2003.08.07
TTreeView, StateImages, StateIndex:=0


1-20553
Fiend
2003-07-23 15:24
2003.08.07
Drag&Drop with my Image


1-20522
Sesh
2003-07-26 08:39
2003.08.07
Как с Delphi заменять определенные слова текста в Word