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

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

Ошибка в представлении [D5, firebird]


Alek_1 ©   (2004-10-25 01:27:00) 

Делаю вот такое вот представление:

SELECT
sp_status.SP_STATUS,
flat.FLAT_KOL_KOMNAT||'/'||sp_tip_flat.SP_TIP_FLAT,
sp_raion.SP_RAION||'/'||sp_masiv.SP_MASIV,
sp_street.SP_STREET||' '||razpol.RAZPOL_NHOUSE,

flat.FLAT_SQ_OBSH||'/'||flat.FLAT_SQ_LIVES||'/'||flat.FLAT_SQ_KITCHEN,

dom.DOM_ETAJ||'/'||dom.DOM_ETAJNOST||'/'||sp_material_sten.SP_MATERIAL_STEN,
obsh.OBSH_STOIMOST||' '||sp_curency.SP_CURENCY,
obsh.OBSH_STOIMOST1MKV||' '||sp_curency.SP_CURENCY,
obsh.KOD
FROM
obsh, dom, sp_curency, sp_material_sten, sp_street,
razpol, sp_masiv, sp_raion, sp_status, sp_tip_flat, flat
WHERE
obsh.ID_RECORD = dom.ID_RECORD AND
obsh.ID_RECORD = razpol.ID_RECORD AND
obsh.ID_RECORD = flat.ID_RECORD AND
obsh.OBSH_STATUS = sp_status.SP_STATUS_ID AND
dom.DOM_MATERIAL_STEN = sp_material_sten.SP_MATERIAL_STEN_ID AND
flat.FLAT_TIP_FLAT = sp_tip_flat.SP_TIP_FLAT_ID AND
obsh.OBSH_CURRENCY = sp_curency.SP_CURENCY_ID AND
razpol.RAZPOL_RAION = sp_raion.SP_RAION_ID AND
razpol.RAZPOL_MASIV = sp_masiv.SP_MASIV_ID AND
razpol.RAZPOL_STREET = sp_street.SP_STREET_ID

и на выделеной строчке он ругается "arithmetic exception, numerc overflow, or string trunscation"
Если убираю эту строчку то все работает, если делаю вместо той строки вот такую flat.FLAT_SQ_OBSHто тоже все ок.
Немогу понять в чем проблема и почему он неможет выполнить запрос.
Использую FileBird
поля в той строке типа float

Если кто знает подскажите плизз )


Alek_1   (2004-10-25 20:04:00) [1]

да все данные привел вроде


Johnmen   (2004-10-25 10:49:00) [2]

>ЮЮ ©   (25.10.04 10:46) [9]

Работает работает. И так и сяк...

>Alek_1   (25.10.04 10:40) [8]

Ошибки быть не должно в указанных условиях.
Значит какие-то исх.данные ты не привел...


ЮЮ   (2004-10-25 10:46:00) [3]

>А у него встроено неявное преобразование типов

значит не да тоеой степени, раз string + float работает, а float + string - нет.

попробуй
''||flat.FLAT_SQ_OBSH ...


Alek_1   (2004-10-25 10:40:00) [4]

Так что никто с таким не сталкивался?
Подскажите хоть в чем может заключаться ошибка?


Alek_1   (2004-10-25 10:29:00) [5]

Вообщето представление делается на сервере БД (ФайрБерд) а не в делфи, в программе!


Johnmen   (2004-10-25 10:29:00) [6]

>ЮЮ ©   (25.10.04 10:25) [5]

Да, не на Васе, а на FB. А у него встроено неявное преобразование типов.


Alek_1   (2004-10-25 10:25:00) [7]

Конечно уверен!!!

CREATE VIEW OBSH_VIEW(STATUS,NKOMNAT_TIPFLAT,RAION_MASIV,STRETT_NHOUSE,SQOBSH_SQLIVES_SQKITCHEN,ETAJ_ETAJNOST_MATERIALSTEN,STOIMIST_ CURRENCY,ST1MKV_CURRENCY,KOD)
AS
SELECT ... описано выше


ЮЮ   (2004-10-25 10:25:00) [8]

А что, в Delphi такое проватывает?
var
 a, s: string;
 d: double;
begin
 s := 'Пушкинская';
 d := 20;
 a := s + d;
???
Преобразование типов делать надо, не в Васике работаешь :)


Johnmen   (2004-10-25 10:19:00) [9]

>Alek_1

А ты уверен, что у тебя FB ?   :)
И укажи алиас для данного поля.


Alek_1   (2004-10-25 10:14:00) [10]

FLAT_SQ_OBSH - float
FLAT_SQ_LIVES - float
FLAT_SQ_KITCHEN - float


jack128   (2004-10-25 02:19:00) [11]

Alek_1   (25.10.04 1:27)
flat.FLAT_SQ_OBSH||'/'||flat.FLAT_SQ_LIVES||'/'||flat.FLAT_SQ_KITCHEN

типы полей бы не помешали..


Наверх

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