|
![]() |
#1 |
Участник
|
Цитата:
Либо возможно глюк в этом и состоял, что из неправильного кода путем усечения в условии currency.CurrencyCode == "XXXY" на месте "XXXY" стояла переменная со значением "ХХХ" - но это уже глюк программиста X++ ![]() |
|
![]() |
#2 |
Member
|
Цитата:
Сообщение от Logger
...
Запрос наверно как Query был составлен ? ... Цитата:
Сообщение от Logger
...
но это уже глюк программиста X++ ...
__________________
С уважением, glibs® |
|
![]() |
#3 |
Участник
|
Цитата:
Сообщение от glibs
![]() Нет.
Я тестировал на джобе. Иначе фиг такое отловишь. В условии писал строку, а не переменную. Это какая-то особенность Ораклиного движка. Код валюты в БД определен как трехсимвольная строка. И при placeholders, видать, он режет input. Если это знать и учесть, то в принципе не проблема. Просто нужно знать. Мне кажется что когда указываешь константу он просто приводит её неявным преобразованием типов к нужной длине, как например при присваивании строковых переменных с разной длиной. |
|
![]() |
#4 |
Участник
|
Цитата:
Цитата:
Сообщение от gl00mie
Был аналогичный косяк, правда, на Oracle с его NSL_LOWER(), SUBSTR() и прочими функциями. В частности, при работе с Oracle из строковых полей вырезаются подстроки длины EDT. Так вот, пытался я join'ить по InventTrans.TransRefId = InventJournalTable.JournalId, и тоже ничего не работало; дело оказалось в том, что у EDT JournalId и InventTransRefId разная длина, в результате на СУБД уходил запрос вида
PHP код:
Последний раз редактировалось petergunn; 10.11.2008 в 17:51. |
|