Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 30.05.2013, 21:40
BURATA BURATA вне форума
Прохожий
 
Регистрация: 30.05.2013
Сообщения: 4
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию выборка диапазона между датами

Доброго времени суток очень большая просьба ответить а то неполучаеться...

есть один календарик по которому вибераеться дата:
Код:
 { procedure TForm1.cal1Click(Sender: TObject);
begin
ADOQuery2.Close;
  ADOQuery2.SQL.Clear;
  ADOQuery2.SQL.Add('select * from студент  where ДатаВиконання like' +QuotedStr('%'+DateToSTR(cal1.Date)+'%'));

  ADOQuery2.Open;
end;

и есть второй календарик по которому опять же вибераеться дата:
Код:
{ procedure TForm1.cal2Click(Sender: TObject);
begin
ADOQuery2.Close;
  ADOQuery2.SQL.Clear;
  ADOQuery2.SQL.Add('select * from студент  where ДатаВиконання like' +QuotedStr('%'+DateToSTR(cal2.Date)+'%'));

  ADOQuery2.Open;
end;
Админ: Пользуемся тегами для оформления кода!

Вопрос: а как теперь мне запросом их обединить так ктоб я смог сформировать отчетность за некоторое время..........подскажите пожалусто

Последний раз редактировалось Admin, 30.05.2013 в 21:48.
Ответить с цитированием
  #2  
Старый 30.05.2013, 21:54
Аватар для Yurk@
Yurk@ Yurk@ вне форума
Специалист
 
Регистрация: 07.09.2007
Адрес: Украина, г. Днепропетровск
Сообщения: 892
Версия Delphi: 7 + ОгнеПтица
Репутация: выкл
По умолчанию

Код:
ADOQuery2.Close;
ADOQuery2.SQL.Text := 'SELECT * FROM студент WHERE ДатаВиконання BETWEEN :data1 AND data2';
ADOQuery2.Parameters.ParamByName('data1').Value := cal1.Date;
ADOQuery2.Parameters.ParamByName('data2').Value := cal2.Date;
ADOQuery2.Open;
__________________
Поживу - увижу, Доживу - узнаю, Выживу - учту.
[P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
Ответить с цитированием
Этот пользователь сказал Спасибо Yurk@ за это полезное сообщение:
BURATA (31.05.2013)
  #3  
Старый 31.05.2013, 00:08
BURATA BURATA вне форума
Прохожий
 
Регистрация: 30.05.2013
Сообщения: 4
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

вибивает ошыбку что не находит параметр date2
Ответить с цитированием
  #4  
Старый 31.05.2013, 00:12
BURATA BURATA вне форума
Прохожий
 
Регистрация: 30.05.2013
Сообщения: 4
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

несоответствие типов даних в вираженом поле отбора
Ответить с цитированием
  #5  
Старый 31.05.2013, 00:43
BURATA BURATA вне форума
Прохожий
 
Регистрация: 30.05.2013
Сообщения: 4
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

project1.exe raised exception class EDatabaseError with message 'ADOQuery2:Parameter 'data1' not found'

Вот собственно и ошыбка
Ответить с цитированием
  #6  
Старый 31.05.2013, 05:31
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Цитата:
Сообщение от BURATA
вибивает ошыбку что не находит параметр date2
Ну правильно, это же не конкретный параметр, а идиоматическое выражение такое что вы там подсовывали в запрос на выборку - что-то типа
Код:
QuotedStr('%'+DateToSTR(cal1.Date)+'%')
, вот такие "закавырки" и надо вместо примера впихивать, ИМХО.

З.Ы. Ну прям филиал тёти Аси здесь образовался, опять модераторам работка по сшиванию разрозненных мессаг появилась, тихий ужас :0
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 00:40.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter