我有以下过程,我不希望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
,那么一切正常。
有什么问题?