![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
База Paradox , такая проблема, добавляю запись, вопрос такой.....
Term © (2003-03-20 11:02:00)База Paradox , такая проблема, добавляю запись, вопрос такой если происходит некоректное завершение работы программы(винда повисла, отключение питания и т.п.)то внесённые записи не сохраняются как этого избежать, не делать же после каждого добавления open..close ?
spogi (2003-03-20 16:33:00) [1]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...
les (2003-03-20 14:06:00) [2]По англицки читаеш?
http://www.thedelphimagazine.com/samples/Paradox/paradox.htm
Еще что-то на королевстве било о настройке BDE.
les (2003-03-20 14:03:00) [3]
> А переделать на Query не получится, предётся весь код переписать.
Не держи таблици откритими все время - только отривай для правки и закривай сразу. А лучше перепиши весь код под SQL. Еще лучше не используй BDE - есть на что переходить. И вообще :)
Anatoly Podgoretsky (2003-03-20 13:57:00) [4]Term (20.03.03 13:14)
Если данные ничего не стоят, то так и поступай, если данные имеют ценность, то UPS и драйвер нормального выключения Windows все сделают как надо.
На компьютере с базой не должно быть клавиатуры и монитора (не обязательны и опасны), кроме того физически должны бцть отключены клавиши Reset и Power Off
sniknik (2003-03-20 13:45:00) [5]Term (20.03.03 13:14)
> НЕ НАЖИМАЙ reset :))))))))))
> это конечно прикольно, но это тоже самое что сказать в элктросети НЕ ОТКЛЮЧАЙТЕ СВЕТ!!!!!!
именно так и скажи. купи UPS (источник бесперебойного питания) всего за 50$ сейчас можно найти.
Соловьев (2003-03-20 13:41:00) [6]I>
> А переделать на Query не получится, предётся весь код переписать.
А надежность? Т.е. у тебе просто было интересно, как ведет себя БД при reset?<
Term (2003-03-20 13:29:00) [7]LocalShare=True в BDE Administrator, не помогло.
А переделать на Query не получится, предётся весь код переписать.
Соловьев (2003-03-20 13:15:00) [8]Интересно, ты когда тестируешь - reset нажимаешь? И наверное часто бедный windows ему и так нелегко...
Используй TQuery+TUpdateSQL
Term (2003-03-20 13:14:00) [9]НЕ НАЖИМАЙ reset :))))))))))
это конечно прикольно, но это тоже самое что сказать в элктросети НЕ ОТКЛЮЧАЙТЕ СВЕТ!!!!!!
Zelius (2003-03-20 13:12:00) [10]Можно еще включить LocalShare=True в BDE Administrator.
Anatoly Podgoretsky (2003-03-20 13:09:00) [11]НЕ НАЖИМАЙreset
Term (2003-03-20 13:08:00) [12]а я Table же использовал
Соловьев (2003-03-20 13:06:00) [13]Поробуй через SQL - Insert, Update и Delete... Там сразу на диск пишется...
Term (2003-03-20 13:04:00) [14]нет, запись внесена, Post, сработал, после этого, ресет и записи НЕТ!!!
Соловьев (2003-03-20 13:01:00) [15]Интересно... А если начали редактировать запись, 5 из 10 полей поменяли, и тут бац свет вырубился? Close; Open; тебе не помогут.
Term (2003-03-20 12:58:00) [16]так я так и сдела поставил в AfterPost
Check(dbiSaveChanges(Table.Handle));
жму ресет, снимаю задачу неважно, последней записи нет,а именно такая ситуация всплыла, и нужно от это проблемы избавиться
если сделать поочередно Close Open, то всё на месте, но это не выход
Соловьев (2003-03-20 12:50:00) [17]в событии AfterPost:
...
Check(dbiSaveChanges(Table.Handle));
...
И запишет запись, если трабл, то не сохранятся только те изменения 1(!) записи, которые в данный момент изменялись...
Anatoly Podgoretsky (2003-03-20 12:50:00) [18]Знаешь при таких действиях можно не только записи потерять но и операционную систему.
Term (2003-03-20 12:46:00) [19]FlushBuffers, помогает действительно немного, он добавляет пустую запись, если жму на ресет,
Check(dbiSaveChanges(Table.Handle));
делает тоже самое, что еще можно придумать, база локальная
Val (2003-03-20 12:15:00) [20]>Term (20.03.03 11:46)
просто Жук © (20.03.03 11:06) не обратил внимание на тип СУБД.
м.б. FlushBuffers поможет немного, но больше поможет клиент-сервер.