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

Тема в разделе "Delphi - Базы данных", создана пользователем Fine, 26 авг 2005.

Статус темы:
Закрыта.
  1. Fine

    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) , .....)
    Спасибо
     
  2. ????

    ???? Гость

    Для: 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

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

    Fine Гость

    Не то что в виде строки
    Вот у меня код такой:
    Правильно я добавляю данные ?
     
  4. ????

    ???? Гость

    <!--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)
     
  5. Fine

    Fine Гость

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

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

    Barmutik Гость

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

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

    Fine Гость

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

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

    Barmutik Гость

    Хмм.. создать поле типа DateTime и в него добавлять как Вы и добавляете, не производя перед этим конвертирование даты в строку...
     
Загрузка...
Похожие Темы - Из базы взаять
  1. swyatogor
    Ответов:
    0
    Просмотров:
    66
  2. victorhalf
    Ответов:
    3
    Просмотров:
    996
  3. JohnLemon
    Ответов:
    47
    Просмотров:
    2.744
  4. motogarri
    Ответов:
    1
    Просмотров:
    556
  5. baloven215
    Ответов:
    2
    Просмотров:
    885
Статус темы:
Закрыта.

Поделиться этой страницей