• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Из базы взаять те даные для которых ДАТА<ЗНАЧ.

  • Автор темы Fine
  • Дата начала
Статус
Закрыто для дальнейших ответов.
F

Fine

В таблице есть поле date, типа DateTime.

date
12.05.2005
11.05.2005
20.05.2005
......

Есть две компоненеты TDateTimepicker (DateTimepicker1 и TDateTimepicker2 )
Как можно составить SQL запрос, чтобы при помощи селекта получить те записи, для которых DateTimepicker1 .date<=date<=DateTimepicker2.date ?
Еще должен сказать что база МС Аксесс, и поле дата дабавлаю при помощи
INSERT INTО ... (...) VALUES (..., datetostr(datetimepicker1.date) , .....)
Спасибо
 
?

????

Для: Fine
<!--QuoteBegin-Fine+26:08:2005, 16:17 -->
<span class="vbquote">(Fine @ 26:08:2005, 16:17 )</span><!--QuoteEBegin-->INSERT INTО ... (...) VALUES (..., datetostr(datetimepicker1.date) , .....)
[snapback]24152" rel="nofollow" target="_blank[/snapback]​
[/quote]
т.е. даты в БД хранятся в виде строки? А зачем?<!--QuoteBegin-Fine+26:08:2005, 16:17 -->
<span class="vbquote">(Fine @ 26:08:2005, 16:17 )</span><!--QuoteEBegin-->DateTimepicker1 .date<=date<=DateTimepicker2.date
[snapback]24152" rel="nofollow" target="_blank[/snapback]​
[/quote]
select * from Table where date between DateTimepicker1.date and DateTimepicker2.date

Только для корректного сравнения надо всё приводить к дате.
 
F

Fine

Не то что в виде строки
Вот у меня код такой:
sSQL:='INSERT INTO my_table (...., date, ....) VALUES(...,'+datetostr(datetimepicker1.date)+', .... )';
WIth Adoquery1. do begin
sql.add(sSQL);
execsql;
end;//with

Правильно я добавляю данные ?
 
?

????

<!--QuoteBegin-Fine+26:08:2005, 16:45 -->
<span class="vbquote">(Fine @ 26:08:2005, 16:45 )</span><!--QuoteEBegin-->Правильно я добавляю данные ?
[snapback]24155" rel="nofollow" target="_blank[/snapback]​
[/quote]
Если данные добавляются, значит всё ОК :)
Просто сбило с толку datetostr(datetimepicker1.date)
 
F

Fine

Данные добавляются :)
Но я не знаю когда буду использовать BETWEEN данные будут сравняться как строки или как дату например если дата, то
12.01.2005 >22.01.2003,
а если строки- то наоборот
12.01.2005<22.01.2003

Спасибо Вам за ответы :)
 
B

Barmutik

Я бы сказал что концептуально не правильно .. не стоило добавлять даты в БД как строки... отсюда все и проблемы...

Сейчас остаётся только при сравнении конвертить Ваше строковое представление даты в реальную дату и только потом сравнивать...
 
F

Fine

<!--QuoteBegin-Barmutik+26:08:2005, 18:28 -->
<span class="vbquote">(Barmutik @ 26:08:2005, 18:28 )</span><!--QuoteEBegin-->Я бы сказал что концептуально не правильно .. не стоило добавлять даты в БД как строки... отсюда все и проблемы...[/quote]

Здрастье
Подскажите пожалуйста, как правильно добавить дату в базе ?
Спасобо
 
B

Barmutik

Хмм.. создать поле типа DateTime и в него добавлять как Вы и добавляете, не производя перед этим конвертирование даты в строку...
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!