Главная страница
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.024 c
1-53018
Юрий Федоров
2003-02-10 16:44
2003.02.17
Не сталкивался ранее с ActiveX, поэтому у меня 2 вопроса:


1-52811
Zergling
2003-02-06 07:26
2003.02.17
Работа с RTTI (изменение свойств объектов в Run-Time)


1-52819
SinnerPro
2003-02-07 07:14
2003.02.17
Удаление файла


1-53029
Andrew123
2003-02-10 20:34
2003.02.17
tscrollbox


14-53207
Рустам
2003-01-31 14:24
2003.02.17
TeamSource