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

Вниз

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

Наверх





Память: 0.46 MB
Время: 0.009 c
14-20684
Nemra
2003-07-19 17:21
2003.08.07
OutLook


3-20415
KIR
2003-07-16 17:08
2003.08.07
Ограниченные возможности SQL в BDE...


1-20511
Silver_
2003-07-24 10:16
2003.08.07
Обратная операция SetLength(MyArray, 10)


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


14-20712
REA
2003-07-23 14:11
2003.08.07
Крамер





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский