Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Не могу написать запросы. Нужна помощь [D7, XP]


GEM ©   (2006-08-03 12:53:00) 

Доброго времени суток!
Использую ADO, работаю с таблицами FoxPro
1.Как правильно дописать запрос с использованием группировки в месте троеточия:
SELECT data,trim(Fam)+' '+trim(Name) as FIO FROM spisok GROUP BY data,...

с trim(Fam)+' '+trim(Name)выходит ошибка и с FIOтоже

2.Необходимо вывести данные за определенный период (определяется по полю dt_rec). Пишу примерно так:
sqltext:=' WHERE dt_rec>={'+datetostr(DateTimePicker1.date)+'} AND dt_rec<={'+datetostr(DateTimePicker2.date)+'} ';
ADOQuery.SQL.Text:='SELECT data,fam FROM spisok' + sqltext+' GROUP BY data,fam ;
ADOQuery.Active:=true;
Данный запрос не выводит данных, хотя данные точно есть. Что я делаю не так?
Когда не применяю группировку и использую фильтр в ADOQuery, данные выбираются корректно, но в этом случае обязательно нужно указать поле с датами, а мне его выводить не нужно.
Помогите пожалуйста. Благодарность гарантирую ;)


Sergey13   (2006-08-03 15:53:00) [1]

> [2] GEM   (03.08.06 15:45)
> Что значит "и на клиенте сделать"?
То и значит. На клиенте можно пробелы отбросить и вывести 2 поля вместе как одно.

> Что по 2 скажешь?
Что и всем - параметры надо использовать.

> PS. У меня данные в DBGrid выводятся.
Д хоть куда.


Desdechado   (2006-08-03 15:51:00) [2]

2. Использовать параметры, а не порытки текстовых преобразований, различные для Delphi, Fox, ADO и операционки


GEM   (2006-08-03 15:45:00) [3]

to Sergey13
Агрегатная функция есть, просто здесь не укзываю - будет лишним.
Что значит "и на клиенте сделать"? Что по 2 скажешь?
PS. У меня данные в DBGrid выводятся.


Sergey13   (2006-08-03 13:19:00) [4]

> [0] GEM   (03.08.06 12:53)

Зачем trim и сложение полей? Это можно и на клиенте сделать.
SELECT data,Fam,Name FROM spisok GROUP BY data,Fam,Name
Только в этом запросе нет агрегатной функции, следовательно работать он не будет. Ты или забыл ее дописать или тебе не нужен GRoup By


Наверх

Титульная страница Поиск, карта сайта Написать письмо