我有一个SP_Delete
存储过程允许删除数据行。当我在C#中创建查询语句时,我有两种查询:
Delete from table where id = @id
exec SP_Delete @id
我有这段代码:
int rowsAffected = 0;
SqlCommand cmd = new SqlCommand(query, connString);
rowsAffected = cmd.ExecuteNonQuery();
return rowsAffected;
但是,rowsAffected
返回了:
当我使用查询Delete from table where id = @id
时,rowsAffected
= number of record effected from table
。例如:我删除了3条记录,然后rowsAffected
= 3
。
当我使用exec SP_Delete @id
时,rowsAffected
始终为-1
,但我删除的记录超过1条。例如:我删除了3条记录,然后rowsAffected
= -1
有人能解释查询和存储过程之间存在差异的原因吗?
谢谢大家!