![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
какие необходимо сделать настойки [D5, Oracle]
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>)