powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / ЗАПРОС с ПАРАМЕТРОМ
5 сообщений из 5, страница 1 из 1
ЗАПРОС с ПАРАМЕТРОМ
    #34855478
Johnny_lcool
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте! Объясните несведущему - мучаюсь уже сутки. Есть запрос, выполняемый через SQLEXEC в FoxPro (БД - MSSQL):

Код: plaintext
1.
2.
3.
4.
select pre = 
case 
when LEN(LTRIM(RTRIM(convert(varchar( 18 ),MAX(curr_value))))) <= ?_cat then ' '
when LEN(LTRIM(RTRIM(convert(varchar( 18 ),MAX(curr_value))))) > ?_cat then substring(LTRIM(RTRIM(convert(varchar( 18 ),MAX(curr_value)))), 1 ,LEN(LTRIM(RTRIM(convert(varchar( 18 ),MAX(curr_value))))) -  [b]5 [/b])
end from mb_ls_cnt where id_ls = ?thisform._idls and id_service = ?thisform._idservice and id_cnt = ?_idcnt

Внимание - вопрос: там, где отмечена цифра 5, если вставить параметр ?_cat (по значению они равнозначны), который есть ранее в запросе, запрос не выполняется, ошибка. Но... стоит заменить _cat на константу и... о-ла-ла, все работает. Что не так?!!
...
Рейтинг: 0 / 0
ЗАПРОС с ПАРАМЕТРОМ
    #34855692
Поставить Aerror() после SQLEXEC и ее результат в студию.
...
Рейтинг: 0 / 0
ЗАПРОС с ПАРАМЕТРОМ
    #34858099
Johnny_lcool
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А она отвечает: "Тип данных аргумента float недопустим для аргумента 3 функции substring
Да, но _cat - numeric (integer в БД)
...
Рейтинг: 0 / 0
ЗАПРОС с ПАРАМЕТРОМ
    #34858133
Запросы с параметрами, передаваемыми с помошью знака вопроса, драйвером ODBC преобразовываются в вызов процедуры sp_sqlexecute с передачей ей текста запроса, описаний и значений параметров, участвующих в запросе. При этом числа конвертятся в тип float.
Решение: составляйте строку запроса co значением переменной _cat и ее отправляйте на обработку. Примерно так:

+"MAX(curr_value))))) - "+transform(_cat)+")"
...
Рейтинг: 0 / 0
ЗАПРОС с ПАРАМЕТРОМ
    #34858151
Johnny_lcool
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо! Я уже тоже догнал, что ошибка кроется в типах данных, передаваемых черех ODBC
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / ЗАПРОС с ПАРАМЕТРОМ
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]