Главная страница
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.48 MB
Время: 0.02 c
1-53113
a123
2003-02-07 10:37
2003.02.17
скопировать все свойства из одного обьекта в другой


14-53262
vic_774N
2003-02-01 23:36
2003.02.17
Человеки ! Очень нужен rtl60.bpl !!!


3-52719
Sherbacov
2003-01-29 16:22
2003.02.17
Сетевой paradox


1-52867
AlexanderSK
2003-02-07 18:07
2003.02.17
const в определении функции


7-53306
SPIRIT
2002-12-18 08:17
2003.02.17
Вопросик про Реестр