![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема с SQL-запросами. Виснут. [D6, dBase, FoxPro]
Новичок © (2003-10-24 06:22:00)
Здраствуйте уважаемые Мастера.
Проблема состоит в следующем:
Через компонент TQuery пытаюсь выполнить следующий запрос:
select sum(svod.summa) as Result from "c:\zarplata\zar_dbf\svod.dbf"
as svod where sh_zatrat="+dm.TShablon.FieldByName("sh_zatrat").AsString
+" and Cast(kds as integer) < 800 and kds<>"ПФО" and
Cast(kds as integer) not in ("+dm.TShablon.FieldByName("kds").AsString
+")
В результате чего Delphi 6.0 виснет.
Пробовал через Database/Explorer, этот же запрос да и запросы попроще,
виснет через раз.
Дельфи переустанавливал раз пять.
Винду переставлял (ставил и Вин2000 и Вин98).
Формат таблиц DBase IV, другой нельзя.
В таблицах ошибок нет.
Ничего не помогает. :-(
ПОМОГИТЕ ПОЖАЛУЙСТА
Заранее благодарен.
Reindeer Moss Eater (2003-10-24 10:12:00) [1]
А я и не говорил, что это правильно.
Я про фичу рассказал.
bushmen (2003-10-24 10:09:00) [2]
>Например из "123-A" получается 123
Я считаю, не корректно так проектировать базу, чтобы приходилось отрабатывать "and Cast(kds as integer) < 800 and kds<>"ПФО"
Reindeer Moss Eater (2003-10-24 10:04:00) [3]
Странно, что у тебя еще ошибки преобразования типов не вылехает :)
Это фича LocalSQL.
Символьных поля кастятся в числа без эксепшенов.
Например из "123-A" получается 123
bushmen (2003-10-24 09:41:00) [4]
Странно, что у тебя еще ошибки преобразования типов не вылехает :)
ЮЮ (2003-10-24 09:29:00) [5]
and Cast( kds as integer) < 800 and kds<>"ПФО"
Т.е. текстовое поле kds может содержать значения типа "ПФО" и при этом его хотим конвертировать в целое ?
Кщд (2003-10-24 08:51:00) [6]
Cast(kds as integer) not in ("+dm.TShablon.FieldByName("kds").AsString
смысл?
в консерватории надо что-то менять, однозначно...
Denis (2003-10-24 08:45:00) [7]
Странно, я такой синтаксис SQL никогда не видел... Ты по каким книгам учился? :)
Тут проблема не в Делфи и не в Винде.
Ты когда-нибудь слышал о параметрических запросах?