Вниз
Скачать: 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 вся ветка

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



Память: 0.5 MB
Время: 0.01 c
6-30502
Sour
2003-02-16 17:38
2003.04.10
Получить HTML текст страницы


14-30600
tomkat
2003-03-25 14:51
2003.04.10
devExpress


9-30206
HellTrooper
2002-11-10 13:30
2003.04.10
2D карта


14-30610
bkv
2003-03-25 17:49
2003.04.10
Графический редактор.


3-30233
Nestor
2003-03-20 12:06
2003.04.10
Help!! Delphi +MSAccess Оператор LIKE




   Наверх