Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Delphi: Базы данных и репортинг > Проблема с обновлением БД |
Автор: 3EHbKA 30.10.2006, 12:16 |
Добрый день всем! У меня возникла проблема при обновлении данных в БД, а именно: В программе есть поток, который занимается "общением" с COM портом. Данные принимаются и записываются в БД, после чего содержимое БД обновляется на экране. Добавление записей в БД (paradox) пробовал делать несколькими способами: 1. С использованием Table Table1.Insert ... Table1.Post 2. C использованием Quety Query1.Sql.Add('INSERT INTO ..........'); Query1.execSQL Потом вывожу обновление на экран следующим образом: На форме есть DBGrid, который связан с Query2 (в Query2.SQL.Text:="SELECT * FROM .....") Вывожу обновление следующим образом: Query2.Close; Query2.Open; Так вот иногда программа вызывает ошибку и закрывается, я грешу на обновление данных. Причем вылазиет ошибка довольно редко, может через 100.000 запясей, может через 1000. Т.е. никакой закономерности в этом нет. Если у кого-нить есть мысли как избавиться от этого глюка, поможите, чем можите. Спасибо. |
Автор: superVad 30.10.2006, 12:57 |
а там текст какой нить у ошибки есть? |
Автор: 3EHbKA 30.10.2006, 13:01 |
Project tarif.exe raised exception class EInvalidOperation with message 'Canvas does not allow drawing'. Process stopped. указатель после строчки Query2.Open; |
Автор: Rodman 30.10.2006, 13:37 |
а при чем тут запрос... у тебя проблемы с отображением какого то компонента... |
Автор: 3EHbKA 30.10.2006, 13:53 |
Rodman, Т.е. проблемма в выводе на эран? Но возникает она после того, как я делаю Form1.Query1.Active:=true; а это в совю очередь выводит обновленные данные в DBGrid |
Автор: SergeBS 30.10.2006, 17:07 |
3EHbKA, Для начала найди разницу между Insert и Append. Для продолжения - проверяй состояние Table. Для завершения - выкинь BDE и возьми что-либо другое. Почему - читай на www.ibase.ru статью Кузьменко. И еще можешь подумать на тему чем связка close-open отличается от refresh. |