Вниз
Скачать: CL | DM;

Не сохраняются изменения в БД   Найти похожие ветки 

← →
Альберт ©   (2003-01-13 20:35) [0]

Кто-нибудь знает, из-за чего программа может не сохранять изменения в БД (Paradox) при закрытии?

Альберт


← →
Роман Лицевич ©   (2003-01-13 20:38) [1]

А как изменяются данные? При помощи чего?


← →
TTCustomDelphiMaster ©   (2003-01-13 20:39) [2]

Попробуй FlushBuffers


← →
VAleksey ©   (2003-01-14 06:52) [3]

ОС какая ?
Было такое у меня на Win2000. Что-то с настройками BDE наверное. Я с этим справился с помощью:
Uses BDE;
...
dbiSaveChanges(Table1.Handle);


← →
Альберт ©   (2003-01-14 21:02) [4]

Спасибо всем, кто согласился мне помочь!

To TTCustomDelphiMaster: вызов Table.FlushBuffers помог.

To Роман Лицевич: данные в программе изменяются и при помощи компонента DBGrid и коде.

To VAleksey: ОС Windows Me.

Проблема была в том, что изменения иногда сохраняли, а иногда и нет, т.е. в процессе работы вдруг выяснялось, что программа снова работает с базой данных, сведения которой были давно изменены. Ощущение было такое, что ОС по собственной инициативе сделала копию моей БД, потом я с ней работал (изменял данные) и после какого-то сбоя в системе, она восстановила прежнюю копию БД со старыми сведениями. Это произошло всего раза три, поэтому я не смог выявить закономерность и определить точные причины, с чем это могло быть связано. Сама программа запускалась и из IDE Delphi и так, кроме того, иногда я вносил изменения напрямую через утилиту SQL Explorer. В первый раз я обнаружил потерю данных после перезагрузки ОС, работа которой завершилась аварийно (правда, программа при этом запущена не была, IDE Delphi тоже). Во второй раз это произошло, когда IDE Delphi выдала какую-то ошибку при работе с этой программой. А в третий раз - когда я экспериментировал с программой шестой час подряд, не выключая компьютер. Запускал программу не через IDE, а из Windows.

Надеюсь, что использование FlushBuffers поможет не допустить повторения этой ситуации.

Альберт


← →
gek ©   (2003-01-15 07:07) [5]

Обязательно прислушайся к совету VAleksey © (14.01.03 06:52)
Это 100% вариант


← →
Дмитрий К.К. ©   (2003-01-15 08:12) [6]

dbiSaveChanges сидит, между прочим, в dbiProcs. А метод хороший.


← →
TTCustomDelphiMaster ©   (2003-01-15 18:02) [7]

procedure TBDEDataSet.FlushBuffers;
begin
CheckBrowseMode;
Check(DbiSaveChanges(Handle));
end;



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.01 c
7-5290
Newe
2002-11-21 15:24
2003.02.03
Как программно узнать когда юзер вставит в дисковод дискету?


14-5204
polizei
2003-01-15 13:18
2003.02.03
Люди добрые! Помогите чем можите! Совсем мне плохо!...


3-4804
D
2003-01-17 14:01
2003.02.03
DBLookupComboBox - как показать нач.зн-е?


8-5076
AM
2002-10-10 10:45
2003.02.03
Есть ли обратный алгоритм


1-4866
Dor
2003-01-24 19:24
2003.02.03
Panel1.caption := сколько времени я нахожусь в инете???




   Наверх