powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / vfp + mssql возврат значения из функции
12 сообщений из 12, страница 1 из 1
vfp + mssql возврат значения из функции
    #33499504
mvictor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет, коллеги

с mssql работаю недавно
прошу поделиться опытом

при вызове SP(функции) из VFP через ODBC могу ли вернуть результат напрямую в переменную а не через возвращаемый курсор

конкретно я бы хотел ч то-то типа этого:
d=0
aa=SQLEXEC(m.ODb_hndl," @d=object_id('tempdb..#tkrs')")
и резельтат желательно иметь в фоксовой переменной "d"

спасибо
...
Рейтинг: 0 / 0
vfp + mssql возврат значения из функции
    #33499558
Недоходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 mvictor
точно не уверен но помоемому только через курсоры
...
Рейтинг: 0 / 0
vfp + mssql возврат значения из функции
    #33499582
Beresnev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня, например, хранимая процедура SQL Server'а SomeProc() возвращает числовое значение. В программе используется следующий код
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
LOCAL lcSQLconnect, lcSQLexec, lnStatus
lcSQLconnect = ...
lcSQLexec = "{?@lnStatus = CALL SomeProc(...)}"
lnStatus =  0 
lnHandle = SQLSTRINGCONNECT(lcSQLconnect,.T.)
SQLEXEC(lnHandle,lcSQLexec)
IF lnStatus <>  0 
   ....    
ENDIF 
...
Рейтинг: 0 / 0
vfp + mssql возврат значения из функции
    #33499598
Beresnev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня, например, хранимая процедура SQL Server'а SomeProc() возвращает числовое значение. В программе используется следующий код
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
LOCAL lcSQLconnect, lcSQLexec, lnStatus
lcSQLconnect = ...
lcSQLexec = "{?@lnStatus = CALL SomeProc(...)}"
lnStatus =  0 
lnHandle = SQLSTRINGCONNECT(lcSQLconnect,.T.)
SQLEXEC(lnHandle,lcSQLexec)
IF lnStatus <>  0 
   ....    
ENDIF 
...
Рейтинг: 0 / 0
vfp + mssql возврат значения из функции
    #33499675
mvictor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Beresnev
очень похоже на то что мне нужно, во всяк случ в Oracle я делел примерно также

но попытка выполнить такой:
aa=SQLEXEC(m.ODb_hndl,"{?@d= call object_id('tempdb..#tkrs')}")
код вызывает ошибку : Could not find stored procedure 'object_id'

насколько я понимаю object_id Это built_in функция
...
Рейтинг: 0 / 0
vfp + mssql возврат значения из функции
    #33499791
mvictor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо, Beresnev
почти заработало
единственный ньюанс

aa=SQLEXEC(m.ODb_hndl,"{?@d= call function1}") работает (function1 - UDF)
а
aa=SQLEXEC(m.ODb_hndl,"?@d={call dbo.object_id('tempdb..#tkrs')}")
возвращает "Could not find stored procedure 'object_id'" хотя object_id это built_in функция

чем отличается вызов UDF от Built_in функций
...
Рейтинг: 0 / 0
vfp + mssql возврат значения из функции
    #33499820
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уберите dbo. перед именем системной функции (OBJECT_ID)
С уважением, Алексей
...
Рейтинг: 0 / 0
vfp + mssql возврат значения из функции
    #33499857
mvictor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Aleksey-KУберите dbo. перед именем системной функции (OBJECT_ID)
С уважением, Алексей
не помагает
...
Рейтинг: 0 / 0
vfp + mssql возврат значения из функции
    #33499865
Crip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...select object_id(...
...
Рейтинг: 0 / 0
vfp + mssql возврат значения из функции
    #33499878
Недоходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зачем такие мучения? Я например использую один курсор на все подобные вытаскивания значений. и некаких проблем.
...
Рейтинг: 0 / 0
vfp + mssql возврат значения из функции
    #33500145
mvictor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
всем спасибо
остановился на том, что если нужно вызвать built_in функ. через SQLEXEC и возвр. результат НЕ через курсор, то ее нужно "завернуть" в UDF
...
Рейтинг: 0 / 0
vfp + mssql возврат значения из функции
    #33500256
Beresnev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
aa=SQLEXEC(m.ODb_hndl,"{?@d= call function1}") 

aa=SQLEXEC(m.ODb_hndl,"?@d={call dbo.object_id('tempdb..#tkrs')}")

На всякий случай замечу. Во второй строке у Вас неправильно выставлены фигурные скобки.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / vfp + mssql возврат значения из функции
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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