Вниз
Скачать: 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.011 c
1-4843
avch
2003-01-24 15:18
2003.02.03
Как запустить/активизировать приложение


3-4809
Nuclear
2003-01-17 14:13
2003.02.03
Автоинкрементное поле в Access


1-4868
harismatik
2003-01-24 18:43
2003.02.03
Сравнение списков


1-4913
Rark
2003-01-25 17:09
2003.02.03
Как сделать чтобы TImage не блымал, если его двигать по форме?


3-4736
BigVova
2003-01-15 16:43
2003.02.03
Можно ли в триггере определить транзакцию




   Наверх