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

Вниз

MIDAS !!! Клиент не может изменить данные !   Найти похожие ветки 

 
UnDISCOvery   (2003-01-30 20:47) [0]

Уважаемые !
Вот такая проблема: написал мидас-сервер который с помощью АДО подключается к мдб-базе и открывает там одну таблицу из 2х полей: name, phone. Еще написал мидас-клиент, у которого есть dcomConnection, ClientDataSet, DataSource и DBGrid для отображения данных. Еще есть две кнопки: Refresh, Apply, которые делают ClientDataSet.Refresh, ClientDataSet.ApplyUpdates(-1) соответсвенно.
Проблемы:
1. Клиент может занести изменения в бд, только в том случае если у провайдера стоит ResolveToDataSet:= true. Почему так ? :-/
2. Если подключить два клиента, то второй не видит изменения, которые вносит первый при нажатии кнопки Refresh. Изменения становятся видны только если сделать dcomConnection Close, Open;
Почему так ? :-/

Заранее сэнкс.


 
BorisUK   (2003-01-31 07:41) [1]

Commit у тя стоит такой...
Вызывай его всяк раз когда уже уверен что данные должны увидеть все.
А пока у тебя стоит AutoCommit. Сделай его false и комить сам когда хочешь (вернее когда надо)


 
UnDISCOvery   (2003-01-31 12:49) [2]

Ну так ежели стоит автокоммит, то оно само и должно заносить изменения на любое действие типа Post, ApplyUpdates ... по-моему дело не в этом, но я попробую управлять транзакцией вручную ..


 
Соловьев   (2003-01-31 12:56) [3]

2 UnDISCOvery ©
Post-это метод CleintDataSet, после его вызова, данные переходят в Delta. а вот когда ты вызываешь ApplyUpdates, Delta отправляется на сервак, который генерит SQL код для требуемых изменений, так вот, у тебя на серваке данные не сохраняются на диск, поэтому их и не видет клиенты при Refresh.


 
UnDISCOvery   (2003-01-31 14:30) [4]

Я не путаю Post и ApplyUpdates. Делаю именно второе. На сервере отрабатываю AfterApplyUpdates - после чего рассылаю сообщения всем подключенным клиентам, чтобы они обновили свои данные. Сообщения приходят, но данные остаются старыми.


 
BorisUK   (2003-01-31 14:45) [5]

Обесчал ведь попробовать вручнуб комитить...
Что не получилось так?
Делай комит в базу (лишним не будет точно) и будет тебе счастье!


 
UnDISCOvery   (2003-01-31 15:18) [6]

С ручным управлением транзакцией ситуация улучшилась, но не совсем. Теперь обновления видны, но если обновлять быстро, то не у всех клиентов.



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

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

Наверх




Память: 0.45 MB
Время: 0.015 c
14-53195
Соловьев
2003-01-31 11:13
2003.02.17
Почему EhLib 2.6а не ставится?


1-53089
Chlavik
2003-02-07 00:42
2003.02.17
Asm


14-53251
Adolf
2003-01-31 22:22
2003.02.17
XP


1-52831
Jaxtor
2003-02-07 12:49
2003.02.17
Удаление всех файлов из заданной папки


1-52918
AndSoft
2003-02-08 19:20
2003.02.17
Дизайн в runtime





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