Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.03;
Скачать: 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 вся ветка

Текущий архив: 2003.02.03;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.021 c
14-5154
Sabor
2003-01-17 20:36
2003.02.03
form


1-5017
ser_ker
2003-01-23 14:39
2003.02.03
Как получить код завершения DOS-программы ?


1-4887
Юный_программер
2003-01-24 19:25
2003.02.03
Если я использую переменную типа double и его точно округляю допу


1-4985
Dmitriy Polskoy
2003-01-23 13:23
2003.02.03
Узлы TreeView


1-4890
Chris
2003-01-23 19:44
2003.02.03
Русский язык в DOS окне