Форум программистов, компьютерный форум, киберфорум
Наши страницы
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.72/18: Рейтинг темы: голосов - 18, средняя оценка - 4.72
finn
1

Не возвращаются output-параметры из хранимой процедуры

11.09.2006, 18:49. Просмотров 3529. Ответов 1
Метки нет (Все метки)

у меня проблема: Обращаюсь к SQL Server Express через ODBC API. Хочу получить данные из хранимой процедуры, причем параметры объявлены, как output. Без них все возвращается просто супер. Также не возвращается результат процедуры, постоянно получаю только 0;

Вот процедура:
SQL
1
2
3
4
5
6
7
8
9
CREATE PROCEDURE [dbo].[MyProc2] 
@counterID INT,
@name VARCHAR(100) output
AS
IF @counterID<>0
 SELECT @name = name FROM scales WHERE counterID=@counterID
ELSE 
 SELECT * FROM scales WHERE counterID=2
RETURN 999
вот код проги на с++:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
char cmd[] = "{? = call MyProc2 ( 0,?)}";
long res[2];
char name[100];
int counterID=1;
SQLBindParameter(hStmt, 1, SQL_PARAM_OUTPUT, SQL_C_LONG, 
        SQL_INTEGER, 0, 0, &param1, 0, &res[0]);
SQLBindParameter(hStmt, 2, SQL_PARAM_OUTPUT, SQL_C_CHAR, 
        SQL_CHAR, sizeof(name), 0, name, 0,&res[1]);
RETCODE result_code = SQLExecDirect(hStmt,(unsigned char*)cmd,strlen(cmd));
if(SQL_SUCCESS==result_code || SQL_SUCCESS_WITH_INFO==result_code)
{
while ( ( retcode = SQLMoreResults(hStmt) ) != SQL_NO_DATA )
{
printf(name);
}
}
Если передавать 1 или другое число, кроме 0, то ничего не возвращается, если же 0, то все нормально.

Помогите, если кто-нибудь имел такие проблемы, я тут горю работа стоит, начальство напрягает. Перечитал MSDN, на Microsoft-е все перерыл. Везде написано, что все должно работать.......
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.09.2006, 18:49
Ответы с готовыми решениями:

Выходные параметры хранимой процедуры
Народ, подскажите пожайлуста а то ваще запутался. Есть хранимая процедура типа: Create Procedure...

Создание хранимой процедуры, которая создает хранимые процедуры
Написать хранимую процедуру SQL , которая будет создавать хранимые процедуры(любые) для БД.

Вызов процедуры из хранимой процедуры
подскажите плз. кто сталкивался по теме. необходима так же передача параметров. За ранее всем...

output параметр хранимой процедуры
эта тема уже поднималась, но все же :) процедура CREATE PROCEDURE . @city nvarchar(20),...

Параметры хранимой процедуры
Можно ли при вызове хранимой процедуры из PHP передавать как параметры переменные. У меня не...

1
Silver
20.09.2006, 18:55 2
C++
1
char cmd[] = "{? = call MyProc2 ( 0,?)}";
Как-то непонятненько.... Может всё-таки лучше
C++
1
2
3
4
5
char cmd[] = "{? 
declare @text as varchar(100)
exec MyProc2  0, @text  out
select @text
}";
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.09.2006, 18:55

Выходные параметры хранимой процедуры
Почему то не возращаются выходной параметр хранимой процедуры (param2, param1). Set cmd =...

Получить в PHP OUTPUT параметры из процедуры MS SQL
Не получилось нигде найти пример получения кодом PHP OUTPUT параметров из процедуры MS SQL В MS...

Выходные параметры хранимой процедуры (FireBird 2.5, FireDac)
День добрый, подскажите как получить выходной параметр из хранимки (FireBird 2.5) INSERT INTO...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.