我遇到以下问题:我有一个SQL Server存储过程,它接收两个参数,并为符合条件的所有记录生成一个delete语句。
这样的事情:
CREATE PROCEDURE [dbo].[TableDelete]
@IdOne bigint,
@IdTwo varchar(30)
AS
BEGIN
DELETE dbo.GdcBridgeQualidadeOrgao
WHERE IdOne = @IdOne
AND IdTwo = @IdTwo
END
接下来,我在.NET中有一个方法,它使用ExecuteNonQuery
方法在填充参数的情况下调用该存储过程。
让我疯狂的是:
如果我调用ExecuteNonQuery
删除符合表格条件的1行,ExecuteNonQuery
将返回1.这是正确的,1行受到影响。
但是,如果我尝试拨打ExecuteNonQuery
删除2行,则ExecuteNonQuery
会返回0而不是2!
有什么想法吗?