为什么在运行NOCOUNT ON的过程时SQLExecute返回SQL_NO_DATA?

时间:2016-08-01 15:15:08

标签: c tsql stored-procedures odbc unixodbc

我有以下过程,我不希望SQL显示受影响的行数:

CREATE PROCEDURE UP_STOREDPROC @field VARCHAR(15)
AS
SET NOCOUNT ON;
INSERT INTO MYTABLE (field) VALUES (@field);
GO

一个C项目使用unixODBC / FreeTDS在准备好的语句(SQLPrepare)之后执行此proc。

准备之后,当它通过调用SQLExecute执行语句时,它总是返回SQL_NO_DATA(100)。

但是,来自ODBC documentation

  

如果SQLExecute执行搜索的更新,插入或删除语句   这不会影响数据源的任何行,调用   SQLExecute返回SQL_NO_DATA。

所以,它不是搜索过的插页。如果程序的第一行更改为SET NOCOUNT OFF,那么一切正常。

有什么问题?

0 个答案:

没有答案