Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как заставить БДЕ не откатываться? 
:(
    Опции темы
han
  Дата 25.9.2002, 19:16 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Значит проблема в следующем...
Работаете вы с таблицами, удаляете записи, редактируете, а потом бац..............свет пропал..
Свет появился, включаете комп, запускаете программу, а там вся ваша работа - коту под хвост, БДЕ всё откатило назад.
Тоже  происходит и при снятии задачи.
Вот и возникает вопрос-как заставить БДЕ не откатываться, а сохранять изменения на лету?
  Вверх
Vit
Дата 25.9.2002, 21:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 14
Всего: 207



Если ты работаешь из Дельфи/Билдера, то там в есть метод Flushbuffers или что-то подобное, ставишь его на событие AfterPost (и т.п.) и готово.


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Medved
Дата 16.12.2002, 20:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

Репутация: 1
Всего: 154



сommit transaction


--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
Vit
Дата 17.12.2002, 00:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 14
Всего: 207



Цитата(Pegas @ 16.12.2002, 03:58)
сommit transaction

Не поможет, дело не в транзакции а в кэшировании.


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Medved
Дата 17.12.2002, 01:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

Репутация: 1
Всего: 154



Если БД сетевая, то поможет.....


--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
AntonSaburov
Дата 17.12.2002, 21:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: нет
Всего: 118



Цитата(Pegas @ 16.12.2002, 17:03)
Если БД сетевая, то поможет.....

А какая разница ? Все равно в файл пишем. База, судя по сообщению, явно файловая. Так что, IMHO, Vit предложил самое разумное решение - Flush.
PM MAIL WWW ICQ   Вверх
Medved
Дата 18.12.2002, 02:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

Репутация: 1
Всего: 154



Цитата

А какая разница ? Все равно в файл пишем. База, судя по сообщению, явно файловая. Так что, IMHO, Vit предложил самое разумное решение - Flush.


Во-первых, я согласен с тем что Vit предложил самое разумное решение;

Во-вторых, разница большая.... если мы используем промышленную базу данных (Oracle, MS SQL и др.) то с подтверждением транзации (commit) текущие изменения отразяться/сохраняться в этой БД.


--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
AntonSaburov
Дата 18.12.2002, 02:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: нет
Всего: 118



Цитата(Pegas @ 17.12.2002, 18:33)
Во-первых, я согласен с тем что Vit предложил самое разумное решение;

Во-вторых, разница большая.... если мы используем промышленную базу данных (Oracle, MS SQL и др.) то с подтверждением транзации (commit) текущие изменения отразяться/сохраняться в этой БД.

SQL - он и в Африке SQL. И ему как раз BDE и всякие там Flush действительно по барабану. Здесь никаких возражений.

Тогда давай различать название "сетевая база" и "база под SQL".
"Сетевая база" - это те же файлы, только не у тебя, родного, на локальной машине, а где-то в сети. Что в принципе уже устаревает и лучше не использовать. Я вообще советую многим ставить локально Interbase и использовать сразу его. Потом проще переходить на многопользователскую базу. Места он занимает крайне мало, предоставляет кучу удобств, и прочая.

А "база под SQL" - это уже то, для чего commit transaction не помешает.
Но не всегда. Разбор таких случаев можно в виде отдельного "размышления о возможностях ..." - статья получится :)
PM MAIL WWW ICQ   Вверх
Medved
Дата 18.12.2002, 03:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

Репутация: 1
Всего: 154



Да, извеняюсь, я имел ввиду не сетевые базы данных, а промышленные...

З.Ы. "База под SQL" впервый раз такое слышу.... это называется "реляционная модель"




--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
AntonSaburov
Дата 18.12.2002, 04:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: нет
Всего: 118



Цитата(Pegas @ 17.12.2002, 19:20)
Да, извеняюсь, я имел ввиду не сетевые базы данных, а промышленные...

З.Ы. "База под SQL" впервый раз такое слышу.... это называется "реляционная модель"

"База под SQL" в принципе выражение не стандартное. Просто сразу понятно, что всей базой управлет не клиент, а "солидная" программа :)

А вот "реляционная модель" к SQL имеет слабое отношение. В принципе и Access, Paradox и DBF тоже реляционные. "Реляционная" в изначалии своем подразумевает отношения на основе операций над множествами. Ну а SQL возник именно из этого математического аппарата.
PM MAIL WWW ICQ   Вверх
Medved
Дата 18.12.2002, 04:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

Репутация: 1
Всего: 154



Цитата

"База под SQL" в принципе выражение не стандартное. Просто сразу понятно, что всей базой управлет не клиент, а "солидная" программа


ну теперь вообще не понятно, что ты пытаешся сказать....  давай договоримся использовать официальную терминологию....

Цитата

А вот "реляционная модель" к SQL имеет слабое отношение. В принципе и Access, Paradox и DBF тоже реляционные. "Реляционная" в изначалии своем подразумевает отношения на основе операций над множествами. Ну а SQL возник именно из этого математического аппарата.


А вот здесь ты абсолютно не прав.... имеет самое прямое и непосредственное.... так как язык SQL является стандартом для реляционых баз данных.

Access, Paradox - это самые что ни на есть (а не "в принципе") реляционные базы данных. а DBF - это не реляционная база данных, а формат файла для хранения данных, реляционных баз, таких как FoxPro и Dbase.




--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
Vit
  Дата 18.12.2002, 05:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 14
Всего: 207



Так, всё! Флейм пошёл, пора заканчивать


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Oleg80([email protected])
Дата 12.7.2004, 21:41 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Проблема han'а появилась и у меня. Только база обновляется каждую секунду. База хорошо индексирована. Все индексы имееют параметр maintained=true.
При пропажи электричества, как я понимаю, не все мои индексы успевают обновиться. В результате при запуске
программы, после перебоев с электричеством, получаю ошибку "Index out of date".
Записи в базу добавляются так:
Table->AppendRecord(...);
Table->FlushBuffers(...);

Спасибо за внимание.
  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0558 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.