Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.04.10;
Скачать: CL | DM;

Вниз

База Paradox , такая проблема, добавляю запись, вопрос такой.....   Найти похожие ветки 

 
Term   (2003-03-20 11:02) [0]

База Paradox , такая проблема, добавляю запись, вопрос такой если происходит некоректное завершение работы программы(винда повисла, отключение питания и т.п.)то внесённые записи не сохраняются как этого избежать, не делать же после каждого добавления open..close ?


 
Жук ©   (2003-03-20 11:06) [1]

Commit - после каждого добавления.


 
Соловьев ©   (2003-03-20 11:11) [2]

http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1048100541&n=1


 
Term   (2003-03-20 11:46) [3]

на commit, матерится, что нет такого, есть CommitUpdates,
если его вставляю, говорит "Not in cashed update mode", по ссылке смотрел, там советуют, на событиях OnClose формы, а какой он OnClose если ресет нажать или питания отрубить, оно не сработает, как быть


 
Val ©   (2003-03-20 12:15) [4]

>Term (20.03.03 11:46)
просто Жук © (20.03.03 11:06) не обратил внимание на тип СУБД.
м.б. FlushBuffers поможет немного, но больше поможет клиент-сервер.


 
Term   (2003-03-20 12:46) [5]

FlushBuffers, помогает действительно немного, он добавляет пустую запись, если жму на ресет,
Check(dbiSaveChanges(Table.Handle));
делает тоже самое, что еще можно придумать, база локальная


 
Anatoly Podgoretsky ©   (2003-03-20 12:50) [6]

Знаешь при таких действиях можно не только записи потерять но и операционную систему.


 
Соловьев ©   (2003-03-20 12:50) [7]

в событии AfterPost:
...
Check(dbiSaveChanges(Table.Handle));
...
И запишет запись, если трабл, то не сохранятся только те изменения 1(!) записи, которые в данный момент изменялись...


 
Term   (2003-03-20 12:58) [8]

так я так и сдела поставил в AfterPost
Check(dbiSaveChanges(Table.Handle));

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

если сделать поочередно Close Open, то всё на месте, но это не выход


 
Соловьев ©   (2003-03-20 13:01) [9]

Интересно... А если начали редактировать запись, 5 из 10 полей поменяли, и тут бац свет вырубился? Close; Open; тебе не помогут.


 
Term   (2003-03-20 13:04) [10]

нет, запись внесена, Post, сработал, после этого, ресет и записи НЕТ!!!


 
Соловьев ©   (2003-03-20 13:06) [11]

Поробуй через SQL - Insert, Update и Delete... Там сразу на диск пишется...


 
Term   (2003-03-20 13:08) [12]

а я Table же использовал


 
Anatoly Podgoretsky ©   (2003-03-20 13:09) [13]

НЕ НАЖИМАЙ reset


 
Zelius ©   (2003-03-20 13:12) [14]

Можно еще включить LocalShare=True в BDE Administrator.


 
Term   (2003-03-20 13:14) [15]

НЕ НАЖИМАЙ reset :))))))))))
это конечно прикольно, но это тоже самое что сказать в элктросети НЕ ОТКЛЮЧАЙТЕ СВЕТ!!!!!!


 
Соловьев ©   (2003-03-20 13:15) [16]

Интересно, ты когда тестируешь - reset нажимаешь? И наверное часто бедный windows ему и так нелегко...
Используй TQuery+TUpdateSQL


 
Term   (2003-03-20 13:29) [17]

LocalShare=True в BDE Administrator, не помогло.
А переделать на Query не получится, предётся весь код переписать.


 
Соловьев ©   (2003-03-20 13:41) [18]

I>
> А переделать на Query не получится, предётся весь код переписать.


А надежность? Т.е. у тебе просто было интересно, как ведет себя БД при reset?<


 
sniknik ©   (2003-03-20 13:45) [19]

Term (20.03.03 13:14)
> НЕ НАЖИМАЙ reset :))))))))))
> это конечно прикольно, но это тоже самое что сказать в элктросети НЕ ОТКЛЮЧАЙТЕ СВЕТ!!!!!!

именно так и скажи
. купи UPS (источник бесперебойного питания) всего за 50$ сейчас можно найти.


 
Anatoly Podgoretsky ©   (2003-03-20 13:57) [20]

Term (20.03.03 13:14)
Если данные ничего не стоят, то так и поступай, если данные имеют ценность, то UPS и драйвер нормального выключения Windows все сделают как надо.

На компьютере с базой не должно быть клавиатуры и монитора (не обязательны и опасны), кроме того физически должны бцть отключены клавиши Reset и Power Off


 
les ©   (2003-03-20 14:03) [21]


> А переделать на Query не получится, предётся весь код переписать.

Не держи таблици откритими все время - только отривай для правки и закривай сразу. А лучше перепиши весь код под SQL. Еще лучше не используй BDE - есть на что переходить. И вообще :)


 
les ©   (2003-03-20 14:06) [22]

По англицки читаеш?
http://www.thedelphimagazine.com/samples/Paradox/paradox.htm

Еще что-то на королевстве било о настройке BDE.


 
spogi   (2003-03-20 16:33) [23]

Na xoroshiy sovet, po kraynoy mere u menya kleva rabotaet...
ya izbegaya etogo problema, nashel vot eto...
Posle kajdoy Post, Postav Refresh...

Nikakoy problemi...
toko inogda v oshibkax mojet bit isklyuchitelnaya situaciya...
no poymay ego i :
If OSHIBKA then Table1.Cancel else Table1.Refresh;

ili vot tak:

try
Edit
Append;
...
Post;
Refresh;
except
Cancel;
end;

nu postav , i jivi na zdorovye... ya vot i jivu bez problem...



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

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

Наверх




Память: 0.51 MB
Время: 0.012 c
7-30624
Alexander2030
2003-02-09 16:35
2003.04.10
Запуск файла


1-30389
KykQx
2003-03-30 07:22
2003.04.10
список всех открытых в системе файлов


1-30340
nejest
2003-03-31 15:50
2003.04.10
Перемещнеие каталога с подкаталогами и файлами


1-30344
me2
2003-03-31 17:20
2003.04.10
Удаление каталогов


1-30402
Eagle Owl
2003-03-30 17:20
2003.04.10
Как сделать, чтобы прога работала без динамических библиотек.