|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
09.03.2019, 12:05 | #1 |
Регистрация: 09.03.2019
Сообщений: 3
|
Фильтрация по дате SQL
Всем привет! Ребята, есть таблица "Delivery", в ней поле "FDATE", в которое надо записать дату поставки. Формат поля "Краткий формат даты", маска ввод 00/00/0000/0_
База данных Access 2002-2003 *.mdb Суть проблемы: 1) Когда из делфи запросом добавляю запись в таблицу Delivery access меняет местами день и месяц в дате. Причем меняет выборочно, т.е. если день в промежутке от 1 до 12, то заменяет, если больше, то записывает как надо. Пример: дата 08.02.2019 сохраняется как 02.08.2019, а 14.02.2019 сохраняется как надо. 2) При выборке из таблицы Delivery нужно указать период поставок. Нижеописанный запрос возвращает пустой набор данных. SELECT * FROM Delivery WHERE Delivery.FDATE BETWEEN #01/02/2019# AND #02/03/2019# ORDER BY Delivery.FDATE, Delivery.ID_Deliver; Если меняю период дат, он выдает набор данных с поставками, но диапазон дат не соответствует. К примеру, нижеописанный запрос возвращает поставки в указанный период, но к ним добавляет поставки за 05.03.2019: SELECT * FROM Delivery WHERE Delivery.FDATE BETWEEN #28/02/2019# AND #04/03/2019# ORDER BY Delivery.FDATE, Delivery.ID_Deliver; Пытался заменить BETWEEN на простое условие >= and <=, но результат тот же. __________ Почему с датами всегда все сложно?
Все гениальное просто...
|
09.03.2019, 12:23 | #2 |
Регистрация: 09.03.2019
Сообщений: 3
|
Вот сама БД.
У меня основной задачей является отображение информации о поставках за определенный период. Сперва в программе я выбираю от кого отобразить поставки (от физ. лиц или организаций), затем выбираю период поставок: 2 компонента TDateTimePicker, после чего запрашиваю из БД набор данных: Код:
Все гениальное просто...
Последний раз редактировалось Евгений Келер; 09.03.2019 в 12:25. Причина: Дополнил |
09.03.2019, 13:11 | #3 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
В Date еще вообще-то и время есть. И о параметризованных запросах не слышал? Типа такого
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 09.03.2019 в 13:20. |
09.03.2019, 14:11 | #4 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Используйте параметрический запрос
http://www.programmersforum.ru/showp...18&postcount=2 Даты не надо никуда преобразовывать. там содержится не только дата, но время, поэтому нужно отрезать временную часть, например, через Trunc() http://www.programmersforum.ru/showp...18&postcount=2 ДОБАВЛЕНО Упс.. я опоздал и повторил то же самое. Извините... |
09.03.2019, 19:54 | #5 |
Регистрация: 09.03.2019
Сообщений: 3
|
Понял. Спасибо большое.
А насчет коммента "Преобразования даты к виду 00/00/0000" - в DateTimePicker она хранится в виде 00.00.0000, а access в запросе требует слеш, а не точку. На этом месте кода ошибка была, прошлось поменять вид даты. А разве передавая в переменную значение DateTimePicker1.Date я получаю не только дату? И да, я не слышал о параметризованных запросах, но это исправлю.
Все гениальное просто...
Последний раз редактировалось Евгений Келер; 09.03.2019 в 19:56. |
09.03.2019, 20:03 | #6 | ||
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Цитата:
Цитата:
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 09.03.2019 в 20:09. |
||
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Фильтрация по дате | ДневнойДоширак | Общие вопросы Delphi | 3 | 06.08.2017 09:12 |
Фильтрация по дате | qqwweertyy | Помощь студентам | 0 | 22.12.2016 19:23 |
фильтрация по дате | delfin07 | C++ Builder | 0 | 04.06.2012 09:34 |
Фильтрация по дате в ADO | AlexSol.BY | Помощь студентам | 5 | 07.12.2010 10:32 |
Фильтрация по текущей дате | DimOn4Ik | БД в Delphi | 4 | 25.04.2010 21:48 |