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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.09.2009, 11:51   #1
Proximus
 
Аватар для Proximus
 
Регистрация: 01.09.2009
Сообщений: 3
По умолчанию Не красится dxDBGrid при использовании запроса

Всех приветствую. Не могу понять в чем проблема: существует программа на Delphi 7, работающая с базами MS SQL. Текущая задача заключается в том, чтобы выявлять повторяющиеся записи, вносимые пользователем в БД и выделять их в таблице другим цветом. С выявлением повторов и закраской dxDBGrid(использую компонент ввиду некоторых особенностей программы) по отдельности никаких проблем не возникает. Ошибка появляется именно когда пытаешься совместить это в программе.
Код:
  z:= FormatDateTime('dd.mm.yyyy', quGridDATA_ZAYAVKI.AsDateTime -3);
  r:= StrToDate (z);
 ADOQuery.SQL.Clear;
 ADOQuery.SQL.Add('Select ID_UL1, DOM1, DATA_ZAYAVKI From ....... Where (ID_UL1 =' + IntTOStr(quGridID_UL1.AsInteger) + ') AND (DOM1=' + DBEdit1.Text + ') AND (DATA_ZAYAVKI BETWEEN :dt and :dtt)');
 ADOQuery.Parameters[0].Value := FormatDateTime('yyyy.mm.dd',r);
 ADOQuery.Parameters[1].Value := FormatDateTime('yyyy.mm.dd',quGridDATA_ZAYAVKI.AsDateTime);
 ADOQuery.Open;
 if ADOQuery.RecordCount > 1 then
  begin
 ShowMessage ('Повтор')   //например;  
  end;
Для закраски обрабатываю OnCustomDrawCell:
Код:
If ANode.Values[Имя_поля.Index] = значение then
  AFont.Color := clRed;
По отдельности каждая процедура работает как надо, при совместном использовании вылетает ошибка в программе: "Project raised exception class EOleException".
Не могу понять почему так Подскажите из-за чего это происходит и как это обойти. Зарание спасибо.
Proximus вне форума Ответить с цитированием
Старый 24.09.2009, 12:00   #2
soleil@mmc
SQL-коддинг
Участник клуба
 
Регистрация: 16.01.2009
Сообщений: 1,192
По умолчанию

и чего?
этот мега-код дергается на каждую запись в гриде/датасете?
нипанятна
нужно писать в каких событиях работают эти куски кода

встречное предложение:
переписать запрос, на основе которого строится датасет и соот-но дбгрид с отрисовкой, так чтобы уже в самом датасете содержалась инфа о кол-ве повторяющихся записей
тогда в обработчике отрисовки грида нужно будет только проверить условие > 1 или нет и не городить весь этот огород (будет работать быстро и без проблем)
soleil@mmc вне форума Ответить с цитированием
Старый 24.09.2009, 12:13   #3
Proximus
 
Аватар для Proximus
 
Регистрация: 01.09.2009
Сообщений: 3
По умолчанию

Цитата:
нужно писать в каких событиях работают эти куски кода
Код запроса "дергается" при нажатии на кнопку, которая находится на другой вкладке вместе со всеми полями для ввода данных в БД. Так сделано для проверки налету повторяющихся записей и указания на это пользователю.
p.s повторными записи считаются если повторяются более 1 раза за 3 дня с момента занесения

Последний раз редактировалось Proximus; 24.09.2009 в 12:15.
Proximus вне форума Ответить с цитированием
Старый 24.09.2009, 12:35   #4
soleil@mmc
SQL-коддинг
Участник клуба
 
Регистрация: 16.01.2009
Сообщений: 1,192
По умолчанию

вот здесь не хватает апострофов
Код:
 AND (DOM1= ''' + DBEdit1.Text + ''' ) AND (DATA_ZAYAVKI
soleil@mmc вне форума Ответить с цитированием
Старый 24.09.2009, 12:54   #5
Proximus
 
Аватар для Proximus
 
Регистрация: 01.09.2009
Сообщений: 3
По умолчанию

Цитата:
вот здесь не хватает апострофов
Теперь вроде работает ... Мда.. все дело было в апострофах
А я уж вешаться хотел )) Большое спасибо.
Proximus вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка при использовании copyfile The Best Общие вопросы Delphi 20 22.07.2009 13:26
Отключение ActiveX при использовании JavaScript POPOV JavaScript, Ajax 2 02.07.2009 15:47
Проблемка при использовании регрессии 500_pinguins Microsoft Office Excel 0 16.06.2009 08:17
Ошибка List index out of bounds(0) при использовании запроса AdoQuery ArtInt БД в Delphi 14 15.04.2009 18:35
Виснет приложение при использовании winsock TR1PL3X Работа с сетью в Delphi 1 31.03.2008 09:14