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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.01.2013, 20:53   #11
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
может база не дает разрешения на фильтрацию?
фильтрация - это поисковый запрос, он не меняет данных -> не редактирует. Так что тут дело не в доступе к базе

Мыло: landgrafsd[псина]mail.ru, шлите проект, конфиденциальность гарантирую.
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 30.01.2013, 21:49   #12
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Итак, пробившись сквозь дебри кода, нашел таки грабли: на момент включения фильтрации переменные SQL1..SQL4 ничего в себе не содержат. Вообще ничего, т.е. SQL1=''. И остальные так же.

После относительно недолгого исследования обнаружил грабли - в процедуре mainform.FormCreate:

Код:
procedure Tmainform.FormCreate(Sender: TObject);
begin
      mainfm.ShowModal;
      Path:=ExtractFilePath(Application.ExeName);
      SQL1:='select * from AWARETYPES';
      SQL2:='select * from WARES where WR_WT_LNK=:WT_COUNTER';
      SQL3:='select * from CLIENTS';
      SQL4:='select * from SALES where SALES_LNK=:CLIENTS_COUNTER';
end;
Следуя логике этого кода мы показываем модально форму mainfm, а вот до всего остального дело просто не доходит - потому у нас переменные и остаются пустыми с самого начала программы. Исправляется одним копипастом:

Код:
     
procedure Tmainform.FormCreate(Sender: TObject);
begin
      Path:=ExtractFilePath(Application.ExeName);
      SQL1:='select * from AWARETYPES';
      SQL2:='select * from WARES where WR_WT_LNK=:WT_COUNTER';
      SQL3:='select * from CLIENTS';
      SQL4:='select * from SALES where SALES_LNK=:CLIENTS_COUNTER';
      mainfm.ShowModal;
end;
и вуаля! - все работает. Правда, несколько смущает, что фильтр включается только через пункт меню "Фильтрация".

Вывод: код оставляем исходный (то есть то, что я чуть выше по ветке просил закомментировать) и совершаем манипуляции, описанные в данном посте - то бишь переносим mainfm.ShowModal; в самый конец процедуры OnCreate


P.S. Проект у себя удаляю насовсем.
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 30.01.2013, 22:47   #13
Alginsky
Пользователь
 
Регистрация: 30.01.2013
Сообщений: 30
По умолчанию

Sciv БОЛЬШОЕ ТЕБЕ СПАСИБО!))) заработала
Alginsky вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка "Expecting a valid name" для оператора "<" в JScript Ратибор Редоран JavaScript, Ajax 0 15.12.2011 14:38
Ошибка:является "поле" но используется как "метод" hitman47IT Помощь студентам 0 22.11.2011 20:55
Ошибка при использовании OlePropertyGet("Documents").OleProcedure("Add") в C++ Builder AleksP C++ Builder 7 11.04.2009 13:06
"missing ; before statement" на пустом месте RJ Presto JavaScript, Ajax 3 06.04.2009 14:47