powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Передача парметров через SQLEXEC
9 сообщений из 9, страница 1 из 1
Передача парметров через SQLEXEC
    #33488645
karpi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Использую функцию SQLEXEC и могу передать передать в хранимую процедуру не более 27 параметров (это есть ограничение в VFP 8.0?). А если мне надо сразу изменить 30 полей в таблице, то создавать две хранимые процедуры?
Кто-нибудь сталкивался с такой проблемой?
Спасибо!
...
Рейтинг: 0 / 0
Передача парметров через SQLEXEC
    #33488660
Crip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я постоянно передаю куда больше и вообще каким образом у вас ограничение получилось. Код в студию.
...
Рейтинг: 0 / 0
Передача парметров через SQLEXEC
    #33488674
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Используй не ? (параметры), а составления команды T-SQL типа:
Код: plaintext
1.
lcCommand = [UPDATE MaySQLTable SET Filed1=] + ALLTRIM(STR(localcur.FieldInt1)) + [, Field2 = '] + ALLTRIM(localcur.FieldStr1) + [', Field3='] + DTOC(localcur.FieldData1) + [' WHERE ID = ] + ALLTRIM(STR(localcur.ID))
SQLEXEC(lh, m.lcCommand)
Я специально привел пример с 3-мя разными типа данных: INT, CHAR и DATA
С уважением, Алексей
...
Рейтинг: 0 / 0
Передача парметров через SQLEXEC
    #33488684
karpi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот допустим код
= sqlexec(hConn, 'Exec ins_os ?param2,?param3,....?param27')
Если ставить param28, то FOX выдаст синтактическую ошибку
...
Рейтинг: 0 / 0
Передача парметров через SQLEXEC
    #33488688
karpi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробую пример, предложенный выше, спасибо!
...
Рейтинг: 0 / 0
Передача парметров через SQLEXEC
    #33488733
karpi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А хранимая процедура как воспринимает эту строку составления. Что мне в ней менять? Что-то я не понял.
...
Рейтинг: 0 / 0
Передача парметров через SQLEXEC
    #33488773
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
karpiВот допустим код
= sqlexec(hConn, 'Exec ins_os ?param2,?param3,....?param27')
Если ставить param28, то FOX выдаст синтактическую ошибку

Длина вот этого 'Exec ins_os ?param2,?param3,....?param27,?param28' > 254 символов.
Поэтому:
local lcSqlExec as string
lcSqlExec='Exec ins_os ?param2,?param3,....?param27,?param28'
SQLEXEC(lh, m.lcSqlExec)
...
Рейтинг: 0 / 0
Передача парметров через SQLEXEC
    #33488777
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А чего тут не понятного. У вас должна получиться строка, которую вы бы набрали из QA для выполнения ее на сервере. И без разницы,что за команда, хоть SELECT @@VERSION, хоть вызов вашей хранимой процедуры
Вот пример с хранимой процедурой:
Код: plaintext
1.
2.
3.
4.
5.
6.
WITH THISFORM
...
m.lcCommand = [Oborot_Ved_GetOstat2 '] + DTOC(.DateStart) + [', '] + ;
DTOC(.DateEnd) + [']
SQLEXEC(lh, m.lcCommand, "MyResultCursor")
...
ENDWITH
Более сложные примеры можете глянуть тут:http://www.caws.atnet.ru/vfox/sql2.html#sql_exec_sp
С уважением, Алексей
...
Рейтинг: 0 / 0
Передача парметров через SQLEXEC
    #33493147
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi karpi!

> Использую функцию SQLEXEC

С каким севрером идёт работа, какой используется драйвер, почему именно EXEC
(его вовсе не все SQL сервера и соответствующие ODBC драйверы правильно
воспринимают), а не "обобщёный" специально для ODBC синтаксис с {call
sp(...)} (а уже забота ODBC драйвера как это "перевести" на язык конкретного
SQL сервера - EXEC использовать или ещё что-то).

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Передача парметров через SQLEXEC
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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