Главная страница
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.011 c
2-1243188812
AntonioPermskiy
2009-05-24 22:13
2009.07.19
RXRichEdit вставка данных из нескольких файлов


15-1242275651
TheEd
2009-05-14 08:34
2009.07.19
Бла, бла, что за фигня - TPageControl не отрабатывает OnChange!


2-1243081532
@!!ex
2009-05-23 16:25
2009.07.19
Как сделать UDP Server работающий со всеми интерфейсами?


2-1243330944
fs
2009-05-26 13:42
2009.07.19
access violation при закрытии приложения (DLL)


15-1242380602
@!!ex
2009-05-15 13:43
2009.07.19
Как получит ьуказатель на уже созданный COM.