Главная страница
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.015 c
4-53343
FoXx
2003-01-05 17:12
2003.02.17
Sniffer - Все написал, все работает, вот только....


3-52739
Avsam
2003-01-30 11:56
2003.02.17
Определение типа значения поля


3-52748
Nikolai_S
2003-01-30 16:17
2003.02.17
Помогите разобраться с форматами дат на SQL-Server е!


14-53264
Nick_N_A
2003-01-29 06:56
2003.02.17
Частотный анализ звука


1-52938
Килилл
2003-02-08 00:54
2003.02.17
MS Word