Форум: "Базы";
Текущий архив: 2008.07.27;
Скачать: [xml.tar.bz2];
ВнизUpper и параметр Найти похожие ветки
← →
Sonia © (2008-02-15 16:34) [0]Всем привет!
Такой вопрос. Есть код:upper(lname) starting with (upper(:name COLLATE PXW_CYRL))
Он ищет строчки, в которых lname начинается с введенного значения, причем не зависимо от регистра.
Когда вместо :name стоит значение, то все работает, а когда параметр, то пишет ошибку: -804.
ЗЫ код из запроса (в процедуре бы все работало), у поля lname кодировка WIN1251 и коллейт стоит.
Подскажите, что можно сделать, чтобы код работал с параметром???
ЗАранее спасибо!
← →
Правильный_Вася (2008-02-15 16:40) [1]
> пишет ошибку: -804.
расшифровать не хочешь?
← →
Sonia © (2008-02-15 16:42) [2]
> расшифровать не хочешь?
Хочу :)
An error was found in the application program input parameters for the SQL statement.
Dynamic SQL Error.
SQL error code = -804.
Data type unknown.
← →
Sonia © (2008-02-15 16:45) [3]
> Sonia © (15.02.08 16:42) [2]
В справочнике написано, что эта ошибка связана с несоответствием в количестве аргументов или несоответствем числа переменных и числа столбцов
← →
Правильный_Вася (2008-02-15 16:45) [4]cast(:name AS varchar(50))
?
в подключенни к БД lc_ctype корректный?
← →
Sonia © (2008-02-15 16:51) [5]
> Правильный_Вася (15.02.08 16:45) [4]
Неа, не работает :(
А что есть lc_ctype??
Я к БД подключаюсь через IBExpert и если вы имеете в виду кодировку, то она у БД стоит WIN1251
← →
Правильный_Вася (2008-02-15 16:53) [6]у БД само собой, а у подключения к БД тоже указывать надо
желательно, чтоб по умолчанию совпадало с кдировкой БД, иначе везде придется писать коллейты
← →
Sonia © (2008-02-15 16:57) [7]
> Правильный_Вася (15.02.08 16:53) [6]
Ну допустим, что совпадает по умолчанию. А что с параметром то делать?
← →
Правильный_Вася (2008-02-15 17:14) [8]поменяь ему имя?
← →
Sonia © (2008-02-15 17:17) [9]Не помогает :(
← →
Правильный_Вася (2008-02-15 17:43) [10]запрос целиком где?
← →
Sonia © (2008-02-18 11:14) [11]Вот целиком:
SELECT lid, lname FROM lib WHERE lconcept = 2186410 AND lid2 = :Lid2_4000
AND UPPER(lname) STARTING WITH (UPPER(:name))
ORDER BY 2
← →
Правильный_Вася (2008-02-18 11:53) [12]
> Вот целиком:
как раз этот запрос рабочий
коллате для функции неприменим, имхо
он только для полей таблиц, доменов
← →
Sonia © (2008-02-18 12:00) [13]Ладненько, спасибо, буду процедурку писать тогда. Она тип параметра нормально распознает.
← →
Правильный_Вася (2008-02-18 12:44) [14]так и это запрос нормально с параметром работает
не понимаю, зачем у апперу нужен collate
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2008.07.27;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.007 c