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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.02.2011, 11:53   #1
aharem08
Пользователь
 
Регистрация: 10.09.2010
Сообщений: 17
По умолчанию Запрос по дате

помогите разобраться:

ADOQuery1.SQL.Add('INSERT INTO AUTO ([блабла],[дата]) VALUES ('+InttoStr(String)+','+QuotedStr(S ysUtils.DateToStr(Date))+')');

Вот это работает а вот тут то же самое ни как

ADOQuery1.SQL.Add('SELECT блабла FROM INFO WHERE дата=#'+QuotedStr(SysUtils.DateToSt r(Date))+'#');

(пробовал как с '#' так и без)
когда пишу прям к примеру #21/02/2010# то все работает а мне надо запрос автоматически по сегодняшней дате.
aharem08 вне форума Ответить с цитированием
Старый 02.02.2011, 11:59   #2
_SERGEYX_
Участник клуба
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Сообщений: 1,518
По умолчанию

Скорее всего, у тебя DateToStr преобразует дату в формате dd.mm.yyyy (как в настройках Винды).
Попробуй вместо
DateToStr(Date)
написать
FormatDateTime('dd/mm/yyyy',Date) //или какой там формат нужен...
_SERGEYX_ вне форума Ответить с цитированием
Старый 02.02.2011, 14:28   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

только параметрические запросы (и передача даты в качестве параметра) дают нормальное, надёжное решение, работающее независимо от настроек локали и без всяких танцев с бубном!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 02.02.2011, 15:20   #4
aharem08
Пользователь
 
Регистрация: 10.09.2010
Сообщений: 17
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
только параметрические запросы (и передача даты в качестве параметра) дают нормальное, надёжное решение, работающее независимо от настроек локали и без всяких танцев с бубном!
поподробнее можно?
aharem08 вне форума Ответить с цитированием
Старый 02.02.2011, 15:32   #5
_SERGEYX_
Участник клуба
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Сообщений: 1,518
По умолчанию

Можно. Пример...
Код:
var FDateBegin, FDateEnd: TDateTime;
  //...
  with Query1 do
  begin
  Close;
  SQL.Text := 'SELECT * FROM your_table ' +
                        'WHERE date BETWEEN :date_begin AND :date_end;';
  ParamByName('date_begin').AsDateTime := FDateBegin;
  ParamByName('date_end').AsDateTime := FDateEnd;
  Open;
  end;
Принцип понятен?
_SERGEYX_ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запрос по дате Explosion БД в Delphi 3 02.06.2010 18:22
Запрос по дате DaMadQuest SQL, базы данных 0 06.04.2010 17:37
Запрос по дате program123 БД в Delphi 4 17.03.2010 19:53
Запрос по дате ННС Помощь студентам 4 20.04.2009 19:30
Запрос по дате календаря ННС Помощь студентам 2 30.03.2009 16:46