Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Возвращаемое значение функции
|
|||
|---|---|---|---|
|
#18+
В базе(sybase) есть функция: ALTER FUNCTION rs."ResourceCol_set" ( IN v_ColResourceName char(30) DEFAULT NULL ,IN v_ColName char(30) DEFAULT NULL ,IN v_ColSize integer DEFAULT NULL ) RETURNS integer Функция возвращает результат — успешно отработала или нет. Запускаю ее из под Sybase Central — всо ок. Мне надо вызвать ее из под клиента(ODBC) Если я не забираю возвращаемое значение SQLExecute("CALL rs.ResourceCol_set( ?, ?, ?);\0") (все нужные переменные подготовленны), то нормально исполняется(в клиенте). Но как перенести возвращаемое значение функции в переменную в коде? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2005, 13:54 |
|
||
|
Возвращаемое значение функции
|
|||
|---|---|---|---|
|
#18+
Функция, это не хранимая процедура. Поэтому и вызывать ее нужно, как функцию, а не процедуру, т.е. из клиента открывать курсор на такой скрипт: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2005, 14:25 |
|
||
|
Возвращаемое значение функции
|
|||
|---|---|---|---|
|
#18+
Спасибо. А вообще я могу как нибудь делать обратный вывод. Например, есть процедура: Код: plaintext 1. 2. 3. Первую переменную я использую как возвращаемое значение, т.е. по ходу исполнения процедуры ложу в нее значение. Я могу потом на ODBC забиндить переменную таким образом, что-бы новое значение в нее записалось? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2005, 18:08 |
|
||
|
Возвращаемое значение функции
|
|||
|---|---|---|---|
|
#18+
авторПервую переменную я использую как возвращаемое значение, т.е. по ходу исполнения процедуры ложу в нее значение. Я могу потом на ODBC забиндить переменную таким образом, что-бы новое значение в нее записалось? INOUT переменная означает, что вызывающая ХП сессия может туда значение положить, а после вызова ХП считать новое, установленное в ХП значение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2005, 06:07 |
|
||
|
Возвращаемое значение функции
|
|||
|---|---|---|---|
|
#18+
ASCRUSINOUT переменная означает, что вызывающая ХП сессия может туда значение положить, а после вызова ХП считать новое, установленное в ХП значение. Да, если запускаю процедуру из под Sybase Central, так все и происходит. Проблемма в другом: я запускаю эту процедуру из клиента, который подключается к этой базе(через ODBC), и переменная, которую биндю(с помошью ODBC-ой функции SQLBindParameter() ) с переменной в запросе, не изменяет своего значения после исполнения запроса. Хотя при запуске из под Sybase Central-а переменная изменяет свое значение. Я задал этот же вопрос в разделе "C++", там просто ответили что есть возможность сделать. Как именно не уточнили. Смотрел те справочники по ODBC, которые нашел - куча пример с тем, где переменная просто передается туда(IN), и ни одного примера на возврат(OUT). Смотрел функцию SQLBindParameter() в MSDN - есть константа SQL_PARAM_OUTPUT, которую можно задать этой функции. Но вот проблема - нет примера. Пытаюсь сам это делать - не получается, переменная все равно не изменяет свое значение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2005, 10:15 |
|
||
|
|

start [/forum/topic.php?fid=55&fpage=92&tid=2013209]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
31ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 218ms |
| total: | 330ms |

| 0 / 0 |
