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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.07.2010, 01:43   #1
alexandr2010
Новичок
Джуниор
 
Регистрация: 26.07.2010
Сообщений: 1
По умолчанию Запрос с датами и временем к Access [D7, Access]

Подскажите, ситуация непонятная - один и тот же запрос:
SELECT * FROM Connection3 WHERE DateTimeConn BETWEEN (#12/01/2009 00:00:00#) AND (#12/01/2009 00:10:00#)
если я его пишу внутри Access - работает, но как только его же пытаюсь выполнить через ADOQuery - выдает ошибку "Неправильно определен объект Parameter. Предоставлены несовместимые или неполные сведения". Windows XP русская, настройки дат и времени по умолчанию в windows. Поле DateTimeConn - типа DATETIME. Соединение ADOQuery пробовал и через Provider=Microsoft.Jet.OLEDB.4.0 и через Provider=MSDASQL.1 - результат везде ошибка. И вообще, буду благодарен, если подскажете хороший хел по работе с типом DATETIME Access через ADO
alexandr2010 вне форума Ответить с цитированием
Старый 26.07.2010, 06:57   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

почитайте тут: пост #8

Цитата:
Значения содержащие тип данных Дата/время обрамляются шарпами (Решетками/диезами) и представляются только(!!!) в американском формате, а именно mm/dd/yyyy, например:#05/30/2009#
А вообще, рекомендую использовать параметрический запрос,
тогда этих проблем НЕ БУДЕТ!

в поиск.
Ключевые слова параметрический запрос
тема обсуждалась МНОГОКРАТНО. посмотрите, тем найдётся много...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 26.07.2010, 18:10   #3
codekick
Пользователь
 
Аватар для codekick
 
Регистрация: 15.01.2010
Сообщений: 28
По умолчанию

Я так понял тебе время не нужно, нужна тока дата поэтом лучше делать так
select * from `table_name` where `date`= FORMAT('твоя дата', Short Date);
ну или between как хошь.
Сам как то с этим парился и еще лучше именя полей заключить в `поле`, у меня как то из за этого были проблемы, только какие уже не помню
Программирование JavaEE/JavaSE
Платформы: Windows, Linux.
ICQ: 415253529; Skype: codekick;
codekick вне форума Ответить с цитированием
Старый 26.07.2010, 22:19   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

codekick, не учите плохому! До плохого он и сам прекрасно додумается, а вот к хорошему надо показывать дорогу!

Не хотите иметь проблем с форматами даты/времени - тогда используйте параметрические запросы, хотите проблем - тогда DateToStr(), Format и прочая, прочая, прочая... только работать будет криво и не всегда... А вообще, можно и так...
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Операции с датами в Access 2003 Elvisnya Microsoft Office Access 9 17.01.2012 11:21
запрос в access TuMOH Microsoft Office Access 0 25.06.2010 11:22
Запрос в Access BaTisTa Microsoft Office Access 1 07.12.2009 21:54
Запрос в Access Ruska882009 Помощь студентам 2 25.02.2009 12:49
Запрос в Access Ruska882009 SQL, базы данных 1 25.02.2009 12:41