Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

какие необходимо сделать настойки [D5, Oracle]


Страницы:   1 2 3

sergey32 ©   (2002-09-11 15:25:00) 

чтобы в запрос передавать дату в виде числа?


sergey32   (2002-09-11 17:55:00) [21]

об этом я и спрашиваю.
А где в Оракле меняются настройки форматов?


Johnmen   (2002-09-11 17:52:00) [22]

Я тоже...:))

Видимо (если на одних компах работает, а на др. нет) придется сравнивать региональные настройки винов и настройки Оракула (в части формата даты)...


sergey32   (2002-09-11 17:43:00) [23]

без trunc все работает, но в проекте везде стоит trunc.
как это обойти не компилируя проект, я не знаю.


Johnmen   (2002-09-11 17:26:00) [24]

Убери trunc и попробуй еще раз...


sergey32   (2002-09-11 17:11:00) [25]

Я сделал тестовый проект, подконнектился к базе через ADO,
в ADOQUERY написал запрос

select * from auto_date where begin_date>trunc(:Begin_Date)

в обработчик нажатия кнопки написал
ADOQuery1.Parameters.ParamByName("begin_date").Value:=DateTimePicker1.Date;
ADOQuery1.Open;

выдает ошибку о несовместимости данных


sergey32   (2002-09-11 17:01:00) [26]

текст запроса формируется в исходниках, на клиентской машине,
там же запрос и открывается.
Могут ли локальные настройки на машине влиять на передачу параметров?


sergey32   (2002-09-11 16:56:00) [27]

все параметры и поля типа Dаte,
дело в том, что для доступа к Ораклу используется самописный сервер, сделанный на основе Midas.


Black Cat   (2002-09-11 16:48:00) [28]

если :SYS_DATE1 и :SYS_DATE2 и p.date_grid типа DATE то все ОК


sergey32   (2002-09-11 16:42:00) [29]

привожу пример из исходников:

and p.date_grid between trunc(:SYS_DATE1) and trunc(:SYS_DATE2)

почему на некоторых машинах это работает, а на некоторых нет?
судя по ответам, здесь все правильно.
вопрос заключается в том, что может влиять на работу?


Black Cat   (2002-09-11 16:36:00) [30]

trunc("01.06.2002") - ?????
trunc(to_date("01.06.2002","dd.mm.yyyy"))


sergey32   (2002-09-11 16:33:00) [31]

select * from auto_date where trunc(begin_date)>
trunc("01.06.2002")
не работает и

select * from auto_date where trunc(begin_date)>trunc(37407)

тоже не работает


Black Cat   (2002-09-11 16:32:00) [32]

a.day_begin Date, :day - TDateTime. Функция trunc от даты без параметров просто удаляет время из даты и возвращает же дату.


sergey32   (2002-09-11 16:29:00) [33]

a.day_begin - какой тип поля?


Black Cat   (2002-09-11 16:24:00) [34]

А текст запроса? Вот такой кусок точно работает:
...
where a.nobj7=:nobj7 and trunc(a.day_begin)=trunc(:day)
...


SergLight   (2002-09-11 16:19:00) [35]

Что значит дата в виде даты? Дата это по любому число.
Просто целая часть TDateTime это число дней, а дробная - это время.
Попробуй вместо Trunc() использовать Int().


sergey32   (2002-09-11 16:18:00) [36]

trunc имеется ввиду оракловый, а не работает, потому, что выдает
ошибку: Несовместимый тип данных


Black Cat   (2002-09-11 16:14:00) [37]

Trunc Оракловский имеется в виду? Или паскальный? И что значит не работает?


sergey32   (2002-09-11 16:02:00) [38]

и если Trunc убрать, а оставить только TdateTime, то работает.


sergey32   (2002-09-11 16:00:00) [39]

именно так и передается в исходниках
Trunc(<TDateTime>)


Johnmen   (2002-09-11 15:55:00) [40]

Если имеется в виду количество дней, то
передавай Trunc(<TDateTime>)


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо