Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.04.10;
Скачать: [xml.tar.bz2];

Вниз

База 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.007 c
14-30556
bkv
2003-03-24 16:18
2003.04.10
Снижение спроса на Delphi -разработчиков!!!!!!!!!!!!!!!!!!!!!!!!!


1-30324
Apachi
2003-03-31 12:58
2003.04.10
res file


1-30451
Lexa
2003-03-28 23:47
2003.04.10
Как убрать мерцание?


14-30560
Tihas
2003-03-24 16:17
2003.04.10
Интересная штука...


1-30396
Intell
2003-03-27 07:42
2003.04.10
Как создатькаталог, если он не существует?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский