|
|
Регистрация | << Правила форума >> | 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
|
|||
|
|||
спасибо все работает, косяк в коде был а так все правильно сказали.
|