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

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

Ошибка I/O Error 103 при работе с базой данных Paradox [D7, Paradox]


Ольга ©   (2006-11-20 16:28:00) 

Помогите, кто чем может! По таймеру (интервал 1 мин) записываю данные в таблицу таким образом:

Table1.Open;
Table1.Edit;
Table1.Append;
Table1['Level']:=data_level;
Table1.Post;
Table1.Close;

Всего 9 таблиц (компоненты размещены на форме), все одинаковые и действия над ними одни и те же.

Программа работает непрерывно. После нескольких дней работы выскакивает ошибка "I/O Error 103" и компьютер зависает. При этом смотрю содержимое таблиц и вижу, что например, в таблице 1 и 3 записей 20, а в остальных 50.
Как обработать эту ситуацию?


Плохиш   (2006-11-21 11:17:00) [1]


> Ольга   (21.11.06 10:01) [14]
> Будут смотреть, поэтому так и сделала.

Опять мухи и котлеты в одном блюде :-(
Разделить запись и просмотр данных по разным компонентам религия не позволяет?


Ольга   (2006-11-21 10:01:00) [2]

Будут смотреть, поэтому так и сделала. Попробую использовать компонент TSession


Sergey13   (2006-11-21 09:52:00) [3]

> [12] Ольга   (21.11.06 09:40)

А зачем вообще ее открывать, если в нее никто не смотрит, а только пишет?


Ольга   (2006-11-21 09:40:00) [4]

Спасибо, Desdechado! Хоть до "мадам" я еще не доросла, но в чем проблема, мне стало понятно. Переделаю программу так, чтобы таблица открывалась при запуске программы и закрывалась при останове. Может всё будет нормально. Попробую.


sniknik   (2006-11-20 21:07:00) [5]

Ольга   (20.11.06 17:04) [6]
> А по существу есть что сказать?
а это и есть по существу, самое что ни на есть существо, глюк в коде. исправил и можно продолжить. или все глюки не относящиеся к вопросу надо игнорировать? а вдруг они взаимосвязаны или это оно и есть?

Desdechado ©   (20.11.06 17:58) [9]
> А тебе б, мадам, не обиду затаивать, а советов слушаться. За этим же пришла?
есть сомнение в том что это мадам... но по сути вопрос справедливый.


Плохиш   (2006-11-20 18:50:00) [6]


> Допустим, не успело за минуту отработать событие, а тут
> следующее наступило - вот и клин.

Есть подозрение, что в этом случае, будет несколько иное сообщение об ошибке.


Desdechado   (2006-11-20 17:58:00) [7]

Ольга   (20.11.06 17:04) [6]
> Зачем так грубо?
А тебе б, мадам, не обиду затаивать, а советов слушаться. За этим же пришла?


Desdechado   (2006-11-20 17:57:00) [8]

Плохиш ©   (20.11.06 17:11) [7]
Если таблица (файл по сути) открывается-закрывается все время (как видно из [0]), то при значительной нагрузке машины такое возможно. Особенно, если запись по таймеру. Допустим, не успело за минуту отработать событие, а тут следующее наступило - вот и клин.


Плохиш   (2006-11-20 17:11:00) [9]


> Программа работает непрерывно. После нескольких дней работы
> выскакивает ошибка "I/O Error 103" и

Из справки

103 Datei nicht geöffnet Wird von CloseFile, Read Write, Seek, Eof, FilePos, FileSize, Flush, BlockRead oder BlockWritegemeldet, wenn die Datei nicht geöffnet ist.

Про базы ничего не написано. Рекомендую искать ошибку там, где она возникает, а не там, где светлее.


Ольга   (2006-11-20 17:04:00) [10]

Зачем так грубо? Вычеркнули первую строчку и забыли. А по существу есть что сказать?


Desdechado   (2006-11-20 16:53:00) [11]

Table1.Edit;
Table1.Append;

эта комбинация - вообще глупость
хоть бы справку почитала, что ли


Ольга   (2006-11-20 16:50:00) [12]

Спасибо


Sergey13   (2006-11-20 16:44:00) [13]

> [2] Ольга   (20.11.06 16:40)
Откуда я знаю что там еще есть. Но пересчитывать все деньги в кошельке перед вложением туда еще гривенника - явно лишняя операция.

100% гарантию, как известно, дает только страховой полис.
(с) О.Бендер


Ольга   (2006-11-20 16:40:00) [14]

То есть, если не переоткрывать таблицу, то ошибки никогда не будет?


Sergey13   (2006-11-20 16:37:00) [15]

> [0] Ольга   (20.11.06 16:28)

Проще запросом писать прямо в таблицу. И не надо ничего переоткывать.


Наверх

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