Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Фильтрация, снова фильтрация 
:(
    Опции темы
Иван Помидоров
  Дата 21.12.2003, 00:04 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











baaa.gif Люди, помогите! Мозг разрушается!!!

Делаю прогу с БД. Нужна фильтрация по нескольким полям.
Делаю так:

filtr:='';
filtr:='select* from journal.dbf where (regn= '+ maskedit1.text+') and ';
filtr:=filtr + ' (num= '+ maskedit2.text+ ') and ';
filtr:=filtr + ' (bortn= '+ maskedit3.text +') and ';
filtr:=filtr+ ' (datereg= '+datetostr(datetimepicker1.date)+ ') and ';
filtr:=filtr + '(name= '+ edit1.text +') and ';
filtr:=filtr + '(nreis= '+ maskedit4.text +') and ';
filtr:=filtr +' (daten='+ datetostr(datetimepicker2.date) +') and ';
filtr:=filtr +' (datek='+ datetostr(datetimepicker3.date) +') and ';
filtr:=filtr + '(nachr= '+ edit2.text +')';

showmessage(filtr); //Выводит такую строку select* from journal.dbf where
//(regn='666') and (num= '6') and (datereg= '18.12.2003') and (bortn= 'МИ4441') and (name= 'Ангара')
//and (nreis= '33') and (datek='12.04.1988') and (daten= '08.01.1988') and (nachr= 'Чернов')
{Такая запись точно есть. Причем если тоже самое написать в квери не запуская программу то он фильтрует без вопросов.
Но если программу запустить то сразу после вышеуказаного шоумессаджа вылетает ошибка: "Invalid use of keyword. Token:.2003)"
Причем сначала я пытался сделать через фильтред(тож в мессадже все правильно выводил) тож вылетала ошибка и укзывал он
на точку '.' Такое ощущение что он от даты отделяет год. Я эту дату уже и в переменную загонял, и строковой константой писал
ничего непомогает все эту лшибку выдает!!!} notify.gif

form1.query1.Close;
form1.query1.Open;
form1.query1.sql.clear;
form1.query1.sql.Add(filtr);
form1.query1.Active:=false;
form1.query1.Active:=true;

regn, num, bortn и тд это все поля БД.

Подскажите можт я гдето с апострофами напутал, хотя все уж перепробывал...а лучше пристрелите меня, чтоб не мучался. hmmm.gif

П.С. Повесить того кто придумал фильтрацию!!! mad.gif
  Вверх
Петрович
Дата 21.12.2003, 19:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1000
Регистрация: 2.12.2003
Где: Москва

Репутация: 25
Всего: 55



Цитата
filtr:='select* from journal.dbf where (regn= '+ maskedit1.text+') and ';

Надо-бы пробельчик между SELECT и *.
Цитата
form1.query1.Close;
form1.query1.Open;
form1.query1.sql.clear;
form1.query1.sql.Add(filtr);
form1.query1.Active:=false;
form1.query1.Active:=true;

Ну тут ты крут smile.gif. Можно проще - все это заменить на:
Код
form1.query1.sql.Text := filtr; // попутно, это автоматически закроет запрос
form1.query1.Open;



--------------------
Все знать невозможно, но хочется
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.3697 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.