![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
FIBPlus вопрос по FIBQuery
dwar © (2006-06-21 11:05:00)Есть FIBQuery в ней SQL
SQL:
SELECT
ID,
ID_UNIT,
GOOD_CODE,
GOOD_NAME,
PRICE,
Department,
id_nds
FROM
GOODS
where EAN8=:EAN8
EAN8 varchar(8)
вопрос вот какой если я передаю в параметр( :EAN8) строку более чем 8 сиволов выскакивает ошибка SQL хотя при тех же самых параметрах запрос в IBExpert спокойно возвращает null,
можно ли это обойти каким нибудь способом ?
Johnmen (2006-06-21 23:22:00) [1]
> atruhin © (21.06.06 14:52) [8]
> Это с чего бы? Какие у него недостатки при селективных запросах?
Это с функционального назначения. Про него и про "недостатки" легко читается в F1.
Виталий Панасенко (2006-06-21 15:46:00) [2]А если штрих-код хранить в одном поле, то все проблемы с WHERE пропадают. какая разница, EAN8 или EAN13- главное, что такое значени в поле "ШТРИХ-КОД" есть !
atruhin (2006-06-21 14:52:00) [3]> [2] Johnmen © (21.06.06 11:42)
> pFIBQuery в общем случае не предназначен для селективных
> запросов...
Это с чего бы? Какие у него недостатки при селективных запросах?
> where EAN8=:EAN8
> or EAN12=:EAN8
> or EAN13=:EAN8
Не правильно и не эффективно. Заполняешь Conditions в зависимости от длинны параметра включаешь нужное. 3 строки кода.
Johnmen (2006-06-21 13:56:00) [4]
> необходимо найти запись в таблице по одному из полей разной
> длинны
Непонятно. Что за "разная длинна"?
dwar (2006-06-21 13:19:00) [5]2 Val
303
Arithmetic exeption,numeric overflow, or string truncation
2 Johnmen
необходимо найти запись в таблице по одному из полей разной длинны
Val (2006-06-21 13:10:00) [6]>но FIB ругается
матом? или тихонько журит? текст ошибки - секрет?
Johnmen (2006-06-21 13:09:00) [7]
> А чем лучше пользоваться ?
Это зависит от того, что конкретно надо.
> where EAN8=:EAN8
> or EAN12=:EAN8
> or EAN13=:EAN8
А вот это 3 (три) разных параметра. Хоть и имя совпадает...
dwar (2006-06-21 13:05:00) [8]Если обрезать то он чегонить и найдет возможно :)
Просто необходимо по 8,12,13 символам найти строку так вот хотел просто поставить
where EAN8=:EAN8
or EAN12=:EAN8
or EAN13=:EAN8
но FIB ругается
2 Johnmen
А чем лучше пользоваться ? FIBDataSet ? ради 1-го запроса ?
Johnmen (2006-06-21 11:42:00) [9]pFIBQuery в общем случае не предназначен для селективных запросов...
Val (2006-06-21 11:32:00) [10]передавать обрезанную до 8 символов строку в параметр.
какая ошибка-то?