Форум: "Начинающим";
Текущий архив: 2009.07.19;
Скачать: [xml.tar.bz2];
Внизстранное поведение ADODataSet Найти похожие ветки
← →
ivanoff (2009-05-26 18:42) [0]делаю:
SELECT Fld1, Fld2
FROM MyTable
WHERE (...) AND
((FromDT <= :DT) OR (FromDT IS NULL)) AND ((TillDT >= :DT) OR (TillDT IS NULL))
открываю ADODataSet с одними и теми-же параметрами:
из Delphi ----> пустой ???
из Access -----> Возвращает правельные данные !!!
так как DT принимаю типа Variant делаю так, для уверенностиParameters.ParamByName("DT").Value := VarToDateTime(DT);
← →
Плохиш © (2009-05-26 19:21) [1]
> ((FromDT <= :DT) OR (FromDT IS NULL)) AND ((TillDT >=
> :DT) OR (TillDT IS NULL))
>
>
Это два разных параметра
← →
ivanoff (2009-05-26 20:12) [2]это и я знаю, но это у меня это всегда работало, и работает в других местах того-же проекта. Почему в данном случе не работает?
← →
sniknik © (2009-05-26 20:48) [3]> это и я знаю, но это у меня это всегда работало, и работает в других местах того-же проекта. Почему в данном случе не работает?
т.е. "знаю что на красный свет переходить нельзя, но раньше все получалось. почему сейчас очнулся в больнице?"
извиняюсь за вопрос, но он просто напрашивается, ты в детстве слабоумием не страдал? может у тебя рецидив?
← →
ivanoff (2009-05-26 22:03) [4]Почему в accesse работает, и спрашивает только один параметр?
И в Delphi я обрщаюсь по имени параметра а не по индексу ... Хочу понять ПОЧЕМУ ибо уже откорректировал так
((FromDT <= :DT1) OR (FromDT IS NULL)) AND ((TillDT >= :DT1) OR (TillDT IS NULL))
Parameters.ParamByName("DT1").Value := VarToDateTime(DT);
Parameters.ParamByName("DT2").Value := VarToDateTime(DT);
!!! после правельного напоминания !!! Плохиш © (26.05.09 19:21) [1]
← →
turbouser © (2009-05-26 22:18) [5]
> ivanoff (26.05.09 22:03) [4]
> ((FromDT <= :DT1) OR (FromDT IS NULL)) AND ((TillDT >= :
> DT1) OR (TillDT IS NULL))
> Parameters.ParamByName("DT1").Value := VarToDateTime(DT);
>
> Parameters.ParamByName("DT2").Value := VarToDateTime(DT);
>
?
← →
sniknik © (2009-05-26 22:20) [6]> Хочу понять ПОЧЕМУ
аксесс это не дельфи и он не обязан задавать параметры также как ты.
если изменишь способ задания то и в дельфи можешь сделать также, например перепишешь парсер и присвоение чтобы принимал одноименные задавая значение всем, или просто обратишься по индексу, или по классической схеме (с "?") без дельфевской обертки, да блин масса способов. на то он и язык программирования что можно запрограммировать все, что хочешь, даже если кто то для тябя этого заранее не сделал.
← →
Нат © (2009-05-26 23:52) [7]
> т.е. "знаю что на красный свет переходить нельзя, но раньше
> все получалось. почему сейчас очнулся в больнице?"
Дальше резковато... Все равно 5 баллов!
← →
Медвежонок Пятачок © (2009-05-26 23:56) [8]И в Delphi я обрщаюсь по имени параметра а не по индексу ... Хочу понять ПОЧЕМУ
Открой генофонд и сравни что происходит в bde датасете при выполнении ParamByName().Value:=
с тем, что происходит в ADO при той же ситуации.
Если конечно хочешь понять почему
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2009.07.19;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.004 c