![]() |
|
![]() ![]() ![]() |
|
3EHbKA |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 12.11.2004 Репутация: нет Всего: нет |
Добрый день всем!
У меня возникла проблема при обновлении данных в БД, а именно: В программе есть поток, который занимается "общением" с 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 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 735 Регистрация: 6.4.2006 Где: Черкассы, Украина Репутация: 3 Всего: 15 |
а там текст какой нить у ошибки есть?
|
|||
|
||||
3EHbKA |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 12.11.2004 Репутация: нет Всего: нет |
Project tarif.exe raised exception class EInvalidOperation with message 'Canvas does not allow drawing'.
Process stopped. указатель после строчки Query2.Open; |
|||
|
||||
Rodman |
|
|||
CIO ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 6144 Регистрация: 7.5.2006 Где: Ukraine ⇛ Kyiv ci ty Репутация: 22 Всего: 122 |
а при чем тут запрос... у тебя проблемы с отображением какого то компонента... |
|||
|
||||
3EHbKA |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 12.11.2004 Репутация: нет Всего: нет |
Rodman,
Т.е. проблемма в выводе на эран? Но возникает она после того, как я делаю Form1.Query1.Active:=true; а это в совю очередь выводит обновленные данные в DBGrid |
|||
|
||||
SergeBS |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1111 Регистрация: 10.6.2005 Где: Владимир Репутация: 11 Всего: 22 |
3EHbKA,
Для начала найди разницу между Insert и Append. Для продолжения - проверяй состояние Table. Для завершения - выкинь BDE и возьми что-либо другое. Почему - читай на www.ibase.ru статью Кузьменко. И еще можешь подумать на тему чем связка close-open отличается от refresh. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Базы данных и репортинг" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |