首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >ExecuteNonQuery()总是返回-1

ExecuteNonQuery()总是返回-1
EN

Stack Overflow用户
提问于 2011-10-17 20:59:18
回答 1查看 24.5K关注 0票数 22

我正在使用一个存储过程在表中插入一些值。

代码语言:javascript
复制
CREATE PROCEDURE [dbo].[Sp_InsertValue]
@Val1 as nvarchar(50)
@Val2 as nvarchar(50)
as
BEGIN
    IF NOT EXISTS(SELECT * FROM @mytable WHERE ID=@Val1)
    INSERT INTO @mytable VALUES(@VAL2)
END

我使用ExecuteNonQuery()在ASP.NET中使用C#调用此存储过程。它工作得很好,没有问题,如果值不存在,它会插入它们。问题是cmd.ExecuteNonQuery()总是返回-1。我期望如果插入一个记录,它应该返回1,如果没有,则返回0,对吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-10 19:14:00

检查存储过程中是否没有"SET NOCOUNT ON“。这将停止返回受影响的行数。字面意思就是“NoCount”开着。

在这种情况下,默认响应将始终为'-1‘。

票数 52
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7794097

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档