Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.08.2010, 07:04   #1
D.O.G
Форумчанин
 
Регистрация: 06.08.2010
Сообщений: 101
По умолчанию Фильтрация по диапазону.

Доброго времени суток. Как можно реализовать фильтрацию в диапазоне по двум дата начальная дата и конечная? Есть база нужно произвести фильтрация данных допустим data=>23.07.2010 and data2<=6.08.2010
D.O.G вне форума Ответить с цитированием
Старый 17.08.2010, 08:20   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
допустим data=>23.07.2010 and data2<=6.08.2010
Ну а чем это не устраивает?
На крайняк пиши between date 23.07.2010 and 6.08.2010 (если я в синтаксисе не ошибся), но учти что эта инструкция не во всякой СУБД есть.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.08.2010, 08:22   #3
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,194
По умолчанию

Код:
select * from table where data between data=>23.07.2010 and data2<=6.08.2010
как-то так.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 17.08.2010, 08:23   #4
D.O.G
Форумчанин
 
Регистрация: 06.08.2010
Сообщений: 101
По умолчанию

а как реализовать по нажатию кнопки в delphi? на форме первоначальное значение берется из компонента DBDateTimeEditEh3 а второе значение берется из компонента DBDateTimeEditEh4. Результат выводится в dbgrideh

Последний раз редактировалось D.O.G; 17.08.2010 в 08:27.
D.O.G вне форума Ответить с цитированием
Старый 17.08.2010, 08:28   #5
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,194
По умолчанию

Киньте кнопку на форму, тыкнете на ней 2 раза и в событии кнопки напишите например так:
Код:
 ADOQuery1.Active:=False;
 ADOQuery1.SQL.Text:='select * from table where data between data=>23.07.2010 and data2<=6.08.2010
';
 ADOQuery1.Open;
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 17.08.2010, 08:41   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
artemavd
Вот как раз в данном случае я бы порекомендовал параметризацию. Мало ли как там СУБД с датами работает:
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
 with ADOQuery1 do begin
  Active:=False;
   Parameters.Parambyname('d1').value:=DBDateTimeEditEh3.Date;
   Parameters.Parambyname('d2').value:=DBDateTimeEditEh4.Date;
  SQL.Text:='select * from table where data between :d1 and :d2';
  Open;
 end;
end;
I'm learning to live...

Последний раз редактировалось Stilet; 17.08.2010 в 08:44.
Stilet вне форума Ответить с цитированием
Старый 17.08.2010, 10:11   #7
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,194
По умолчанию

Ну, я же не знаю какая у него там СУБД. Если бы он сказал, то я бы знал. Я бы тоже через параметры сделал бы.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 17.08.2010, 11:06   #8
D.O.G
Форумчанин
 
Регистрация: 06.08.2010
Сообщений: 101
По умолчанию

субд mysql
D.O.G вне форума Ответить с цитированием
Старый 17.08.2010, 11:48   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
D.O.G
Все равно при работе с датами надежнее параметризировать.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.08.2010, 12:01   #10
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,194
По умолчанию

Цитата:
D.O.G
Просто через параметры легче отследить какие значения передаются в запрос.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
поиск по диапазону и подстановка значения в зависимости от результата Propinol Microsoft Office Excel 17 02.04.2012 21:35
Выборка номеров по диапазону zenner Microsoft Office Excel 14 23.06.2010 15:22
Форма фильтрации по диапазону Малой БД в Delphi 3 24.02.2010 13:24
Применение формулы к диапазону ячеек mar3m Microsoft Office Excel 4 31.08.2009 17:44
Количество дней в месяце по диапазону дат VadimSh Microsoft Office Excel 6 26.11.2008 23:48