Главная страница
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.013 c
1-53068
runner
2003-02-06 18:04
2003.02.17
Перенос в ячейках StingGrid


1-53015
SniZ
2003-02-08 16:44
2003.02.17
Строки!


1-53117
Maxim2030
2003-02-07 10:37
2003.02.17
Передача параметров через com между Delphi и VC


14-53215
Ketmar
2003-01-30 16:31
2003.02.17
повторю насущный вопрос: работа в Киеве.


1-52873
FTNSoft
2003-02-05 19:01
2003.02.17
qtintf70.dll