Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ExecuteNonQuery()始终返回-1_C#_Asp.net_Executenonquery - Fatal编程技术网

C# ExecuteNonQuery()始终返回-1

C# ExecuteNonQuery()始终返回-1,c#,asp.net,executenonquery,C#,Asp.net,Executenonquery,我正在使用存储过程在表中插入一些值 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#调用此

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

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,对吗?

检查您的存储过程中是否没有“setnocounton”。这将停止返回的影响行数。字面上的“NoCount”是开着的


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

当您在sql server查询窗口中执行此过程时,是否可以在结果窗格中看到任何记录更新消息?并尝试返回由于将此过程添加到最后一行而受影响的行-Return@@RowcountSET NOCOUNT ON是我的罪魁祸首。非常感谢你指出这一点。