У меня есть хранимая процедура
| Код | ALTER PROCEDURE [dbo].[my_proc1] (@p_name char(50), @p_age int)
AS
BEGIN
insert into Table_1 (name, age) values (@p_name, @p_age); select * from Table_1;
END
|
В таком состоянии эта процедура работает но в С++ коде SQLFetch выдает SQL_ERROR
| Код | //trying to get values from base SQLRETURN res = SQLFetch(sqlStmtHandle);
if (res == SQL_ERROR) { cout << "SQL_Fetch error" << endl; }
|
Когда я в хранимую процедуру добавляю SET NOCOUNT ON; то есть процедура теперь выглядит так
| Код | ALTER PROCEDURE [dbo].[my_proc1] (@p_name nvarchar(50), @p_age int)
AS
BEGIN
SET NOCOUNT ON;
insert into Table_1 (name, age) values (@p_name, @p_age); select * from Table_1; END
|
то в этом случае SQLFetch не выдает SQL_ERROR и я могу получить данные из таблицы. Я хотел выяснить почему нужно вставлять в код SET NOCOUNT ON? Почему в одном случае SQLFetch не работает в другом случае SQLFetch работает и выдает данные из таблицы? |