Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вложенные запросы. Нужен совет. [D6, XP]


DimonS ©   (2006-07-24 10:00:00) 

Решил попробовать сделать вложенный запрос, причем подзапрос обращается к этой же базе:

ADOGPS.Close;
ADOGPS.SQL.Clear;
ADOGPS.SQL.Add('select Distance as Dist from Distance_All where UniqID=1 and TimeNav');
ADOGPS.SQL.Add('=(select Max(Timenav) from Distance_all where Timenav<=:Dat2 and UniqID=1)');
ADOGPS.Parameters.ParamValues['Dat2']:=DateTimeToStr(Now);
ADOGPS.Open;

В результате выдает ошибку:
"The conversion a chsr data type to a datetime data type resulted in an out-of-range datetime value"
Как я понял, вложенный подзапрос выдает не тот формат? По отдельности запросы работают нормально. Что здесь неправильно?

Или может быть проще сделать запрос через соединение таблиц?


DimonS   (2006-07-24 10:42:00) [1]


> Desdechado ©   (24.07.06 10:36)


Спасибо, дело было именно в преобразовании в строку. Передал напрямую - заработало все ок.


Desdechado   (2006-07-24 10:36:00) [2]

Ругается вот здесь:
ADOGPS.Parameters.ParamValues['Dat2']:=DateTimeToStr(Now);
Какого лешего ты в строку преобразуешь? Передавай прямо.
Да и текст ошибки прозрачен - ошибка преобразования


Ega23   (2006-07-24 10:35:00) [3]


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


Гарантии нет. Хотя тебе виднее. Но это потенциальная дыра, учти.


DimonS   (2006-07-24 10:08:00) [4]


> Ega23 ©   (24.07.06 10:05) [1]


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


Ega23   (2006-07-24 10:05:00) [5]

А если Max не найдёт по такому условию?


Наверх

Титульная страница Поиск, карта сайта Написать письмо