Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.07.19;
Скачать: CL | DM;

Вниз

странное поведение 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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.01 c
11-1203694121
Алексей К.
2008-02-22 18:28
2009.07.19
Не удаётся получить объект Sender в обработчике...


15-1242298176
Василий Жогарев
2009-05-14 14:49
2009.07.19
PostgreSQL &amp; Date / Time


15-1242601996
game2345678
2009-05-18 03:13
2009.07.19
Проблема с запуском исходника приложения для работы с базами данн


2-1243188812
AntonioPermskiy
2009-05-24 22:13
2009.07.19
RXRichEdit вставка данных из нескольких файлов


2-1243158685
KiLLiR
2009-05-24 13:51
2009.07.19
Отображение времени в DBGrid (подгрузка из access)