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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.04.2008, 17:44   #1
Рустам
Форумчанин
 
Регистрация: 04.07.2007
Сообщений: 260
По умолчанию Синтаксис SQL-запроса для поиска по дате...

Здрасьте ВСЕМ!!!
Подскажите пожалуйста, как должен выглядеть запрос в DELPHI к базе данных для выборки по дате, допустим:
с 1.04.2008 по 4.04.2008...
Хорошо не там, где нас нет, а там, где нас еще небыло!!!
Рустам вне форума Ответить с цитированием
Старый 03.04.2008, 18:03   #2
_Dmitry
Участник клуба
 
Аватар для _Dmitry
 
Регистрация: 02.09.2007
Сообщений: 1,193
По умолчанию

WHERE (DATA >= #04/01/2008#) AND (DATA <= #04/04/2008#)
_Dmitry вне форума Ответить с цитированием
Старый 03.04.2008, 18:17   #3
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Цитата:
WHERE (DATA >= #04/01/2008#) AND (DATA <= #04/04/2008#)
и где это будет срабатывать ?
Рустам
уточняйте Субд
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 03.04.2008, 18:32   #4
Рустам
Форумчанин
 
Регистрация: 04.07.2007
Сообщений: 260
По умолчанию

А если дата содержится в переменной - data1 и data2?
Хорошо не там, где нас нет, а там, где нас еще небыло!!!
Рустам вне форума Ответить с цитированием
Старый 03.04.2008, 18:38   #5
Рустам
Форумчанин
 
Регистрация: 04.07.2007
Сообщений: 260
По умолчанию

Microsoft Access
Хорошо не там, где нас нет, а там, где нас еще небыло!!!
Рустам вне форума Ответить с цитированием
Старый 03.04.2008, 21:03   #6
Рустам
Форумчанин
 
Регистрация: 04.07.2007
Сообщений: 260
По умолчанию

Прошу прощения ребят!!!
Вообщем дело обстоит так:
есть DataTimePicker1 и 2... Необходиме в базе сделать выборку от 1 до 2 даты... данные в базе хранятся в формате dd.mm.yyyy
Как точку поменять на слеш - это понятное дело...
А вот как должен выглядеть сам запрос???
Вот Что я пробовал:
1
Код:
Q:='SELECT * FROM SALEBOOK WHERE (SALEBOOK.DATESALE>= #'+D1+'#) AND (SALEBOOK.DATESALE>= #'+D2+'#)';
2
Код:
Q:='SELECT * FROM SALEBOOK WHERE (SALEBOOK.DATESALE>= '+D1+') AND (SALEBOOK.DATESALE>= '+D2+')';
3
Код:
Q:='SELECT * FROM SALEBOOK WHERE SALEBOOK.DATESALE BETWEEN '+D1+' AND '+D2;
При условии что D1 и D2 даты в формате DD/MM/YYYY.

Че не так не пойму...
Хорошо не там, где нас нет, а там, где нас еще небыло!!!
Рустам вне форума Ответить с цитированием
Старый 03.04.2008, 21:18   #7
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,085
По умолчанию

почитай про использование параметров в запросе. не надо будет с форматом даты возиться
pu4koff вне форума Ответить с цитированием
Старый 03.04.2008, 21:19   #8
Рустам
Форумчанин
 
Регистрация: 04.07.2007
Сообщений: 260
По умолчанию

а поподробнее... пожалста...
Хорошо не там, где нас нет, а там, где нас еще небыло!!!
Рустам вне форума Ответить с цитированием
Старый 04.04.2008, 08:30   #9
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Можно сделать следующим образом
В компаненте Query есть св-во Parameters. Нажимаем туда и создаём две переменные например D1 и D2 указываем тип ftDateTime
После заходим в св-во SQL компанента Query и пишем запрос
SELECT * FROM SALEBOOK WHERE (DATESALE>= :D1) AND (DATESALE>=:D2)
где переменные D1 и D2 c двоеточием спереди это переменные из св-ва Parameters
После
procedure TForm1.Button1Click(Sender: TObject);
begin
ADOQuery1.Active:=false;
ADOQuery1.SQL.Clear;
ADOQuery1.Parameters.ParamByName('D 1').Value:=Now;//или дата из календаря
ADOQuery1.Parameters.ParamByName('D 2').Value:=Now;//тоже самое
ADOQuery1.Active:=true;
end;
где D1 и D2 переменные из св-ва Parameters
SERG1980 вне форума Ответить с цитированием
Старый 04.04.2008, 15:23   #10
Рустам
Форумчанин
 
Регистрация: 04.07.2007
Сообщений: 260
По умолчанию

Спасибо. Как домой доберусь буду проверять...
Хорошо не там, где нас нет, а там, где нас еще небыло!!!
Рустам вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Синтаксис Си на Делфи DmT Общие вопросы Delphi 2 28.06.2008 15:30
Поиск по дате. в чем ошибка?? missy БД в Delphi 6 20.06.2008 13:06
Синтаксис запросов в Delphi (TQuery) Lady_olga БД в Delphi 6 25.05.2008 18:09
Добавление дня к дате Askat БД в Delphi 2 03.03.2008 11:30