Главная страница
    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.47 MB
Время: 0.008 c
6-20650
GGeorge
2003-06-02 14:08
2003.08.07
TWebBrowser перехват документа.


1-20587
VISA
2003-07-24 13:14
2003.08.07
Эмуляция клика на заголовке окна.


14-20792
3APA3A
2003-07-19 15:26
2003.08.07
Файлы *.chm и *.hlp


1-20492
miwa
2003-07-25 11:26
2003.08.07
Обламываюсь с диалоговыми окнами.


3-20428
Алексей
2003-07-17 09:37
2003.08.07
Конвертация DBF в DB





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