![]() |
|
|
![]()
|
|
| han |
|
|||
|
Unregistered |
Значит проблема в следующем...
Работаете вы с таблицами, удаляете записи, редактируете, а потом бац..............свет пропал.. Свет появился, включаете комп, запускаете программу, а там вся ваша работа - коту под хвост, БДЕ всё откатило назад. Тоже происходит и при снятии задачи. Вот и возникает вопрос-как заставить БДЕ не откатываться, а сохранять изменения на лету? |
|||
|
||||
| Vit |
|
|||
![]() 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 |
|||
|
||||
| Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 1 Всего: 154 |
сommit transaction
-------------------- |
|||
|
||||
| Vit |
|
|||
![]() 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 |
|||
|
||||
| Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 1 Всего: 154 |
Если БД сетевая, то поможет.....
-------------------- |
|||
|
||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: нет Всего: 118 |
А какая разница ? Все равно в файл пишем. База, судя по сообщению, явно файловая. Так что, IMHO, Vit предложил самое разумное решение - Flush. |
|||
|
||||
| Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 1 Всего: 154 |
Во-первых, я согласен с тем что Vit предложил самое разумное решение; Во-вторых, разница большая.... если мы используем промышленную базу данных (Oracle, MS SQL и др.) то с подтверждением транзации (commit) текущие изменения отразяться/сохраняться в этой БД. -------------------- |
|||
|
||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: нет Всего: 118 |
SQL - он и в Африке SQL. И ему как раз BDE и всякие там Flush действительно по барабану. Здесь никаких возражений. Тогда давай различать название "сетевая база" и "база под SQL". "Сетевая база" - это те же файлы, только не у тебя, родного, на локальной машине, а где-то в сети. Что в принципе уже устаревает и лучше не использовать. Я вообще советую многим ставить локально Interbase и использовать сразу его. Потом проще переходить на многопользователскую базу. Места он занимает крайне мало, предоставляет кучу удобств, и прочая. А "база под SQL" - это уже то, для чего commit transaction не помешает. Но не всегда. Разбор таких случаев можно в виде отдельного "размышления о возможностях ..." - статья получится |
|||
|
||||
| Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 1 Всего: 154 |
Да, извеняюсь, я имел ввиду не сетевые базы данных, а промышленные...
З.Ы. "База под SQL" впервый раз такое слышу.... это называется "реляционная модель" -------------------- |
|||
|
||||
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: нет Всего: 118 |
"База под SQL" в принципе выражение не стандартное. Просто сразу понятно, что всей базой управлет не клиент, а "солидная" программа А вот "реляционная модель" к SQL имеет слабое отношение. В принципе и Access, Paradox и DBF тоже реляционные. "Реляционная" в изначалии своем подразумевает отношения на основе операций над множествами. Ну а SQL возник именно из этого математического аппарата. |
|||
|
||||
| Medved |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 1 Всего: 154 |
ну теперь вообще не понятно, что ты пытаешся сказать.... давай договоримся использовать официальную терминологию....
А вот здесь ты абсолютно не прав.... имеет самое прямое и непосредственное.... так как язык SQL является стандартом для реляционых баз данных. Access, Paradox - это самые что ни на есть (а не "в принципе") реляционные базы данных. а DBF - это не реляционная база данных, а формат файла для хранения данных, реляционных баз, таких как FoxPro и Dbase. -------------------- |
||||
|
|||||
| Vit |
|
|||
![]() 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 |
|||
|
||||
| Oleg80([email protected]) |
|
|||
|
Unregistered |
Проблема han'а появилась и у меня. Только база обновляется каждую секунду. База хорошо индексирована. Все индексы имееют параметр maintained=true.
При пропажи электричества, как я понимаю, не все мои индексы успевают обновиться. В результате при запуске программы, после перебоев с электричеством, получаю ошибку "Index out of date". Записи в базу добавляются так: Table->AppendRecord(...); Table->FlushBuffers(...); Спасибо за внимание. |
|||
|
||||
![]()
|
| Правила форума "Delphi: Базы данных и репортинг" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |