![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ADOQuery: параметры, запросы и пр. [D7, XP]
GEM © (2006-08-08 16:06:00)Здравствуйте, уважаемые мастера!
Работаю с таблицами FoxPro.
1. Для выборки данных из таблицы за определенный период здесь мне посоветовали использовать параметры в ADOQuery (если все мною было правильно понято), а именно использую 2 параметра d_uchb и d_uche:
where:=' WHERE dt_uch>=:d_uchb AND dt_uch<=:d_uche ';
ADOQuery1.Parameters[0].Value:=date_uchb.date;// =значению TDateTimePicker (начальная дата)
ADOQuery1.Parameters[1].Value:=date_uche.date;// =значению TDateTimePicker (конечная дата)
ADOQuery1.SQL.Text:='SELECT * FROM '+where;
ADOQuery1.Active:=true;
Выходит ошибка "List index out of bounds(0)". Если использовать ParambyName, то уже ругается на 'd_uchb'. Что делаю не так?
2. С помощью запроса ADOQuery формируется НД, отображаемый в DBGrid. Может использоваться группировка и фильтрация. Необходимо что в одном из столбцов DBGrid содержались данные из нескольких объединенных полей таблицы. Допустим есть в таблице поля Fam, Name, результат нужен Fam+Name с удалением лишних пробелов. Как можно это сделать, учитывая необходимость группировки и фильтрации?
По 1 и 2 вопросу вся информация, что у меня есть по Delphi уже перерыта. Доступ в Интернет мягко говоря ограниченный, возможности пользоваться поисковиком нет (за каждую минуту отчитываемся). Пожалуйста, не отмахивайтесь от меня односложными фразами - не бросайте новичка.
MsGuns (2006-08-09 17:13:00) [1]>clickmaker © (08.08.06 16:15) [2]
>2. SELECT Trim(Fam + Name) AS FullName
что-то типа
Есть возможность манипулирования отображением информации непосредственно на клиенте (clickmaker © привел чисто "серверный" подход)
1. С помощью событий OnGetText полей датасета
2. С помощью события OnDrawColumnCell отображающего грида
3. С помощью создания в датасете калькулируемых полей, которые и отображаются в гриде вместо "реальных". Создавать можно как в дизайне, так и "на лету".
...
GEM (2006-08-09 14:38:00) [2]Спасибо всем - помогли.
Sergey13 (2006-08-08 16:18:00) [3]ADOQuery1.SQL.Text:='SELECT * FROM WHERE dt_uch>=:d_uchb AND dt_uch<=:d_uche';
ADOQuery1.Parameters[0].Value:=date_uchb.date;
ADOQuery1.Parameters[1].Value:=date_uche.date;
ADOQuery1.Active:=true;
clickmaker (2006-08-08 16:15:00) [4]2. SELECT Trim(Fam + Name) AS FullName
что-то типа
clickmaker (2006-08-08 16:13:00) [5]1. на момент ADOQuery1.Parameters[0].Value := ... ADOQuery ничего не знает про параметры, потому как задаешь текст ты уже после.