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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.11.2007, 11:22   #1
XPAiN
Форумчанин
 
Аватар для XPAiN
 
Регистрация: 31.10.2007
Сообщений: 108
Плохо DATETime

имеется Acess база. В ней храниться поле Date1 типа DateTime
при попытке сделать запрос типа Table.Date1=#11/11/2007# не выдается никаких результатов, хотя в базе есть такие значения. Виновато, видимо, время, которое храниться в этом же поле. Но если написать запрос типа
(Table.Date1 between #11/11/2007# and #12/11/2007#) никакого толку.
Если написать (Table.Date1 between #11/11/2007 00:00:01# and #11/11/2007 23:59:59#) вообще ругается на запрос, хотя в аксесе он работает на ура. Ругается именно на время указанное после даты.
delphi is my world
XPAiN вне форума Ответить с цитированием
Старый 15.11.2007, 11:37   #2
Alex21
With best regards
Участник клуба
 
Регистрация: 20.04.2007
Сообщений: 1,448
По умолчанию

имхо, разве дата пишется не так: 11.11.2007 ?
Alex21 вне форума Ответить с цитированием
Старый 15.11.2007, 11:46   #3
XPAiN
Форумчанин
 
Аватар для XPAiN
 
Регистрация: 31.10.2007
Сообщений: 108
По умолчанию

Если писать 11.11.2007, то говорит синтаксическая ошибка в выражении при запуске запроса
delphi is my world
XPAiN вне форума Ответить с цитированием
Старый 15.11.2007, 11:50   #4
dron-s
Форумчанин
 
Регистрация: 04.03.2007
Сообщений: 615
По умолчанию

Цитата:
имхо, разве дата пишется не так: 11.11.2007
вообще то это зависит от региональных установок...
передавай в запрос данные через параметры..
Код:
  with Query1 do
    begin
      Close;
      SQL.Clear;
      SQL.Add('select * from NameTable from Dates Between :d1 and :d2');
      Params.ParseSQL(SQL.Text, True);
      ParamByName('d1').AsDate := DateStart;
      ParamByName('d2').AsDate := DateEnd;
      Active := True;
    end;
тогда у тебя сама СУБД обработает всё как надо и с форматами в региональных установках системы разберётся сама...
dron-s вне форума Ответить с цитированием
Старый 15.11.2007, 12:35   #5
XPAiN
Форумчанин
 
Аватар для XPAiN
 
Регистрация: 31.10.2007
Сообщений: 108
По умолчанию

а разве это не для StoredProc? Я не нашел таких свойств у Query а именно ParamByName('d2').AsDate

Написал так query.Parametrs.paramByName('d1').V alue:=DateStart; не работает
delphi is my world
XPAiN вне форума Ответить с цитированием
Старый 15.11.2007, 12:50   #6
dron-s
Форумчанин
 
Регистрация: 04.03.2007
Сообщений: 615
По умолчанию

IBQuery отличается по свойствам с ADOQuery...
Цитата:
Написал так query.Parametrs.paramByName('d1').V alue:=DateStart ; не работает
что пишет? какую ошибку?
dron-s вне форума Ответить с цитированием
Старый 15.11.2007, 13:02   #7
XPAiN
Форумчанин
 
Аватар для XPAiN
 
Регистрация: 31.10.2007
Сообщений: 108
По умолчанию

пишет, что несоответствие типов данных в выражении условия отбора.
delphi is my world
XPAiN вне форума Ответить с цитированием
Старый 15.11.2007, 13:06   #8
dron-s
Форумчанин
 
Регистрация: 04.03.2007
Сообщений: 615
По умолчанию

что ты передаёшь в параметре DateStart?
dron-s вне форума Ответить с цитированием
Старый 15.11.2007, 13:10   #9
XPAiN
Форумчанин
 
Аватар для XPAiN
 
Регистрация: 31.10.2007
Сообщений: 108
По умолчанию

datetimepicker1.date
delphi is my world
XPAiN вне форума Ответить с цитированием
Старый 15.11.2007, 13:19   #10
dron-s
Форумчанин
 
Регистрация: 04.03.2007
Сообщений: 615
По умолчанию

Цитата:
имеется Acess база. В ней храниться поле Date1 типа DateTime
слушай, а почему бы тебе просто не выбрать формат поля и маску...
dron-s вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Агрегатная функция SUM для DateTime _SERGEYX_ БД в Delphi 6 09.02.2009 12:40
Hex в DateTime и обратно yurban Общие вопросы Delphi 1 30.08.2008 09:06