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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.02.2007, 20:56   #1
Nowichok
Пользователь
 
Регистрация: 23.11.2006
Сообщений: 53
По умолчанию Выборка по полям с форматом даты

Нужно сделать SQL запрос по полям, имеющий формат даты.
Код:
 DM.QueryBirthday.SQL.Clear;
 DM.QueryBirthday.SQL.Add('Select * FROM MainTable Where Birthday=:fff ');
 DM.QueryBirthday.Active:=true;
По время создания программы создал параметр fff, тип ftDateTime,
value = 05.05.1988 (запись с такой датой рождения есть в БД).

делаю запуск программы - выдаётся пустой набор. ПОЧЕМУ ? !

HELP,Плз !!!

Вообще цель сделать выборку между двумя датами. Но сначала надо разобраться с этим...
Nowichok вне форума Ответить с цитированием
Старый 07.02.2007, 00:03   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Но сначала надо разобраться с этим...
Правильно. И в первую очередь нужно разобраться с представлением даты в данной конкретной (но нам неуказанной) СУБД. К сожалению, это представление для разных СУБД может сильно различаться.
Кстати, а что такое вот это:
Цитата:
Where Birthday=:fff
- во первых, не двоеточие, а знак процента
- во-вторых, в запросе указано значение даты, равное fff, а не значение переменной fff. Должно быть так:
'......Where Birthday='+%fff

Последний раз редактировалось mihali4; 07.02.2007 в 00:11.
mihali4 вне форума Ответить с цитированием
Старый 07.02.2007, 11:50   #3
Speeker
Форумчанин
 
Аватар для Speeker
 
Регистрация: 01.12.2006
Сообщений: 241
По умолчанию

Если не выдает ошибки, возможно у Вас просто перепутаны местами дата ит месяц...
такое бывает
Програмисты - единственные люди, которым платят за исправления их же ошибок
Speeker вне форума Ответить с цитированием
Старый 08.02.2007, 17:02   #4
Nowichok
Пользователь
 
Регистрация: 23.11.2006
Сообщений: 53
По умолчанию

Спасибо за ответы. Ща буду пробовать
Nowichok вне форума Ответить с цитированием
Старый 09.02.2007, 18:28   #5
Lynx
Пользователь
 
Аватар для Lynx
 
Регистрация: 09.02.2007
Сообщений: 49
По умолчанию

Цитата:
Сообщение от mihali4 Посмотреть сообщение
- во-вторых, в запросе указано значение даты, равное fff, а не значение переменной fff. Должно быть так:
'......Where Birthday='+%fff
Насколько я помню, то
WHERE Birthday LIKE '+%fff...
Свой среди чужих
Чужой среди своих
Lynx вне форума Ответить с цитированием
Старый 10.02.2007, 01:58   #6
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Сообщение от Lynx Посмотреть сообщение
Насколько я помню, то
WHERE Birthday LIKE '+%fff...
Интересно было бы посмотреть конкретный текст SQL для примерного поиска дат на основе LIKE...
mihali4 вне форума Ответить с цитированием
Старый 10.02.2007, 17:18   #7
Nowichok
Пользователь
 
Регистрация: 23.11.2006
Сообщений: 53
По умолчанию

Цитата:
Сообщение от mihali4 Посмотреть сообщение
Интересно было бы посмотреть конкретный текст SQL для примерного поиска дат на основе LIKE...
Делал так, но он ищет только по конкретной дате. А как сделать диапазон в LIKE - не знаю.

Проблему решил через фильтр...
Nowichok вне форума Ответить с цитированием
Старый 10.02.2007, 17:35   #8
Lynx
Пользователь
 
Аватар для Lynx
 
Регистрация: 09.02.2007
Сообщений: 49
По умолчанию

Для диапазона
SELECT * FROM <имя таблицы>
WHERE <имя поля> BEETWEN <min значение> AND <max значение>
Свой среди чужих
Чужой среди своих
Lynx вне форума Ответить с цитированием
Старый 10.02.2007, 17:42   #9
Nowichok
Пользователь
 
Регистрация: 23.11.2006
Сообщений: 53
По умолчанию

Цитата:
Сообщение от Lynx Посмотреть сообщение
Для диапазона
SELECT * FROM <имя таблицы>
WHERE <имя поля> BEETWEN <min значение> AND <max значение>
насколько помню, не работало. Видать с форматом поля DateTime по другому нужно. Хотя проверю ещё раз позже
Nowichok вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Уникальность по 3 полям num8er БД в Delphi 3 09.10.2007 09:54
Разобраться со форматом звукового файла за 300R$ SantaQAWSED Фриланс 22 19.06.2007 03:14
Фильтрация по нескольким полям! Askat БД в Delphi 1 14.06.2007 06:44