Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.12.2009, 01:03   #1
Baaandit
Заблокирован
 
Регистрация: 10.11.2009
Сообщений: 99
По умолчанию Возникла непонятная мне ошибка

Возникла непонятная мне ошибка. Нажимаю кнопку с запросом - в DBRichEdit повляются необходимые данные, потом щелкаю мышкой последовательно DBRichEdit-и на editы, которые на форме находятся, или dbgrid, и такая ошибка выскакивает. Что может быть не так? Еще вот - возникает только если текст окрашенный в DBRichEdit.
Изображения
Тип файла: jpg Безимени-1.jpg (22.6 Кб, 78 просмотров)

Последний раз редактировалось mihali4; 13.12.2009 в 15:41.
Baaandit вне форума Ответить с цитированием
Старый 13.12.2009, 01:12   #2
Neeter
Форумчанин
 
Аватар для Neeter
 
Регистрация: 22.02.2009
Сообщений: 875
По умолчанию

Это значит, что вы что-то изменяете в базе, но предварительно ее не перевели в режим редактирования:
Код:
DataSet.Edit;
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.
Neeter вне форума Ответить с цитированием
Старый 13.12.2009, 01:16   #3
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Ставьте бряки на все операции присвоения полям каких-то значений.
mihali4 вне форума Ответить с цитированием
Старый 13.12.2009, 01:21   #4
Baaandit
Заблокирован
 
Регистрация: 10.11.2009
Сообщений: 99
По умолчанию

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

Ставьте бряки на все операции присвоения полям каких-то значений.

Где бы их ставить?Не пойму в каком обработчике это происходит.
dbBRichEdit- какая то фишка с форматированием текста в этом компоненте может быть?
Ошибка эта не возникает если щелкаешь по панели и форме.
Нашел только такой выход dbBRichEdit.enabled:=false;-ну это не выход из dbBRichEdit копировать надо.

Последний раз редактировалось Baaandit; 13.12.2009 в 01:40.
Baaandit вне форума Ответить с цитированием
Старый 13.12.2009, 16:09   #5
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Когда вы производите изменения в любом датаконтроле, БД вопринимает это как подготовку к изменению данных в таблице БД.
Поэтому при переходе фокуса
Цитата:
потом щелкаю мышкой последовательно DBRichEdit-и на editы, которые на форме находятся, или dbgrid
БД пытается закрепить внесенные изменения, т.е. сделать POST.
Однако таблица не находится в режиме редактирования - отсюда и ошибка.
А в DBRichEdit вы вносите изменения - выделение, цвет и т.п.
mihali4 вне форума Ответить с цитированием
Старый 13.12.2009, 17:31   #6
Baaandit
Заблокирован
 
Регистрация: 10.11.2009
Сообщений: 99
По умолчанию

Да в DBRichEdit вношу изменения- меняю в нем цвет. Данные в DBRichEdit попадают через Query не через таблицу.И ошибка возникает только если цвет в DBRichEdit изменен. Но мне не надо вносить изменения в БД, это должно быть просто временное подкрашивание.
Вот и не знаю,что сделать с этим переводом фокуса?

Последний раз редактировалось Baaandit; 13.12.2009 в 17:40.
Baaandit вне форума Ответить с цитированием
Старый 13.12.2009, 17:38   #7
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

А насчет Query - вот
http://www.programmersforum.ru/showthread.php?t=75768
mihali4 вне форума Ответить с цитированием
Старый 13.12.2009, 17:49   #8
Baaandit
Заблокирован
 
Регистрация: 10.11.2009
Сообщений: 99
По умолчанию

Цитата:
Сообщение от mihali4 Посмотреть сообщение
По моему не совсем что мне нужно. Я произвожу запрос с помощью Query и на событие ADOQuery1AfterScroll завязано много.
Добиться надо чтобы при смене фокуса DBRichEdit не пытался сохранить данные в БД.
Baaandit вне форума Ответить с цитированием
Старый 13.12.2009, 17:56   #9
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Используйте простой RichEdit и половина проблем отпадут сами...
mihali4 вне форума Ответить с цитированием
Старый 13.12.2009, 18:02   #10
Baaandit
Заблокирован
 
Регистрация: 10.11.2009
Сообщений: 99
По умолчанию

А как к нему бД поключить?Во понял
Код:
 RichEdit1.text:=datamodule2.ADOQuery1.FieldValues['Opican'];
Спасибо mihali4 за хороший совет с RichEdit работает без ошибки.

Последний раз редактировалось Baaandit; 13.12.2009 в 18:33.
Baaandit вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Непонятная ошибка Дырдин Общие вопросы C/C++ 7 14.10.2009 21:30
Непонятная ошибка. jojahti Общие вопросы C/C++ 4 05.09.2009 20:39
Непонятная ошибка. program123 Общие вопросы Delphi 12 12.04.2009 23:07
Непонятная ошибка Juri Помощь студентам 6 07.11.2008 19:28
Непонятная ошибка Slash Общие вопросы Delphi 6 19.06.2007 14:45