Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.07.27;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.016 c
2-1214480489
lewka-serdceed
2008-06-26 15:41
2008.07.27
Поиск слова в строке


2-1214387040
Муслик
2008-06-25 13:44
2008.07.27
Удаление в таблице


15-1212756716
Kolan
2008-06-06 16:51
2008.07.27
Научите ставить ссылки на рисунки в Word е.


2-1214234765
savyhinst
2008-06-23 19:26
2008.07.27
Not enough timers available!


2-1214386167
TUserClass
2008-06-25 13:29
2008.07.27
Использовать DBGrid без БД...