![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Ребята помогите с запросом пожалуста
Есть таблица по ней необходимо выбрать данные по колонке 'kat' где 'kat'=переменной "a" причем колонка 'data' >= переменной "b" и 'data' <= переменной "c" отсортировать по дате. вот что получилось, как сюда прикрутить сравнений с переменной "c"? Код:
query1.Close;
query1.SQL.clear;
query1.SQL.Add('select data,kat,summ from ":bux:intt.db" where (kat = '''+a+''') and (data >= ('''+datetostr(b)+''')) order by data');
query1.Open;
dataSource1.dataset:=query1;Последний раз редактировалось Admin, 05.08.2009 в 13:48. |
|
#2
|
|||
|
|||
|
Код:
SELECT data,kat,summ
FROM ":bux:intt.db"
WHERE (kat = a)
AND (data>=DateToStr(b))
AND (data<=DateToStr(c))Код:
SELECT data,kat,summ
FROM ":bux:intt.db"
WHERE (kat = a)
AND (data between DateToStr(b) and DateToStr(c)) |
|
#3
|
|||
|
|||
|
Цитата:
Ни так ни так не работает правильно, игнорирует вторую часть сравнения |
|
#4
|
|||
|
|||
|
Делай параметризиарованный запрос:
Код:
SELECT * FROM ":bux:intt.db"
WHERE kat = :A AND data >= :B AND data <= :C
ORDER BY data
...
Query1.Active := False;
Query1.ParamByName('A').AsString := a;
Query1.ParamByName('B').AsDateTime := b;
Query1.ParamByName('C').AsDateTime := c;
Query1.Active := True; |
|
#5
|
|||
|
|||
|
спасибо все работает, косяк в коде был а так все правильно сказали.
|