Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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


Страницы:   1 2

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 поможет немного, но больше поможет клиент-сервер.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо