Вниз
Скачать: CL | DM;

Запрос в ADOQuery   Найти похожие ветки 

 
Иришка   (2004-04-06 10:35) [0]

Приветик!
SELECT AccountPays.Pay_ID,..................
From AccountPays LEFT OUTER JOIN
Inpays on  (Inpays.Inpay_ID = AccountPays.Inpay_ID.........

where InnerDepName=:b And Account_Base_Name=:d and (CreateDate>=:u and CreateDate<=:o)
                       
Всё в принцыпе работает нормально только по CreateDate (тип дата)
выдаёт данные > и <=, а должен >= и <=
Может я что-то не тек неписала?

Дополнение.
Выборка ведётся по параметрам u,o
P:=DateTimePicker1.Date;
ADOQuery1.Close;
ADOQuery1.Parameters.ParamByName("u").Value:=p;
ADOQuery1.Open;
------------------
P:=DateTimePicker1.Date;
ADOQuery1.Close;
ADOQuery1.Parameters.ParamByName("o").Value:=p;
ADOQuery1.Open;


 
stone ©   (2004-04-06 10:44) [1]

P:=Trunc(DateTimePicker1.Date);


 
Vlad ©   (2004-04-06 10:46) [2]


> Иришка   (06.04.04 10:35)  

Хм... Я по поводу дополнения.
А что собственно там происходит ? Первый раз открываем набор данных с одним параметром (где второй ?),  второй раз открываем  набор данных со вторым параметром (где первый ?)
И что же мы хотим получить ?


 
stone ©   (2004-04-06 10:47) [3]


> Иришка   (06.04.04 10:35)  

Все дело в том, что DateTimePicker1.Date содержит время и дату, и если на сервере поле не содержит времени (например 06.04.2004 0:00:00), то это значение окажется меньше указанного в DateTimePicker1.Date, соответствено время нужно отрезать trunc(DateTimePicker1.Date)


 
serge35   (2004-04-06 11:04) [4]

stone прав на все 100%. Присоединяюсь.


 
Vlad ©   (2004-04-06 11:12) [5]

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


 
stone ©   (2004-04-06 11:21) [6]


> Vlad ©   (06.04.04 11:12) [5]

Я не телепат:)) но мне кажется тут просто опечатка, вероятнее всего DateTimePicker все же 2. Задать диапазон дат одним действительно сложно :))


> Иришка   (06.04.04 10:35)  

Для выбора диапазона дат лучше использовать синтаксис: CreateDate BETWEEN :u and :o


 
Vlad ©   (2004-04-06 11:37) [7]


> stone ©   (06.04.04 11:21) [6]

Пускай даже два. Но зачем запрос открывать два раза. С одним параметром вместо двух - вот что неясно ;-)


 
serge35   (2004-04-06 11:45) [8]

Ну не объяснили девушке, что можно просвоить сразу 2 параметра, вот она и присваивает их по одному.
Перед вторым Open оба параметра будут присвоены.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.023 c
3-1081152737
$tranger
2004-04-05 12:12
2004.05.02
Учусь работать с БД


14-1081253852
Andryk
2004-04-06 16:17
2004.05.02
Есть вопросец ! Есть ли какая-нибудь приблуда (программа),


14-1081523027
Kolyan
2004-04-09 19:03
2004.05.02
Нелегкий выбор


1-1081849117
Alone
2004-04-13 13:38
2004.05.02
MakeObjectInstance - memory leak


7-1078519654
uUnknown
2004-03-05 23:47
2004.05.02
Отследить обращение к реестру и его изменение.




   Наверх