Текущий архив: 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.01 c