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

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

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

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

спасибо
...
Рейтинг: 0 / 0
24.01.2006, 12:53
    #33499558
Недоходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vfp + mssql возврат значения из функции
2 mvictor
точно не уверен но помоемому только через курсоры
...
Рейтинг: 0 / 0
24.01.2006, 12:58
    #33499582
Beresnev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vfp + mssql возврат значения из функции
У меня, например, хранимая процедура 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
24.01.2006, 13:00
    #33499598
Beresnev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vfp + mssql возврат значения из функции
У меня, например, хранимая процедура 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
24.01.2006, 13:16
    #33499675
mvictor
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vfp + mssql возврат значения из функции
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
24.01.2006, 13:43
    #33499791
mvictor
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vfp + mssql возврат значения из функции
спасибо, 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
24.01.2006, 13:51
    #33499820
Aleksey-K
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vfp + mssql возврат значения из функции
Уберите dbo. перед именем системной функции (OBJECT_ID)
С уважением, Алексей
...
Рейтинг: 0 / 0
24.01.2006, 14:03
    #33499857
mvictor
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vfp + mssql возврат значения из функции
Aleksey-KУберите dbo. перед именем системной функции (OBJECT_ID)
С уважением, Алексей
не помагает
...
Рейтинг: 0 / 0
24.01.2006, 14:06
    #33499865
Crip
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vfp + mssql возврат значения из функции
...select object_id(...
...
Рейтинг: 0 / 0
24.01.2006, 14:11
    #33499878
Недоходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vfp + mssql возврат значения из функции
Зачем такие мучения? Я например использую один курсор на все подобные вытаскивания значений. и некаких проблем.
...
Рейтинг: 0 / 0
24.01.2006, 15:40
    #33500145
mvictor
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vfp + mssql возврат значения из функции
всем спасибо
остановился на том, что если нужно вызвать built_in функ. через SQLEXEC и возвр. результат НЕ через курсор, то ее нужно "завернуть" в UDF
...
Рейтинг: 0 / 0
24.01.2006, 16:22
    #33500256
Beresnev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
vfp + mssql возврат значения из функции
Код: 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
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / vfp + mssql возврат значения из функции / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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