我以前使用此方法返回更改的行數。我是運行插入方法,插入在存儲過程中運行良好,但ExecuteNonQuery的返回值始終返回-1。c#:ExecuteNonQuery()返回-1
這裏是我的C#代碼:
int ret = 0;
using (SqlConnection conn = new SqlConnection(this.ConnectionString))
{
using (SqlCommand cmd = new SqlCommand(QueryName, conn))
{
conn.Open();
if (Params != null)
cmd.Parameters.AddRange(Params);
cmd.CommandType = CommandType.StoredProcedure;
ret = cmd.ExecuteNonQuery();
conn.Close();
}
}
return ret;
爲什麼我得到-1,而不是實際的行數變化嗎?
因此,表中的修改實際發生,但你得到-1? – Tudor
它可能會返回任何您的sproc返回,如果沒有其他指定,可能是-1。 –
您是否真的使用事件探查器捕獲了SQL調用並手動執行以查看實際更改的行號? –