Na základě MSDN:
Pro příkazy UPDATE, INSERT a DELETE je vrácená hodnota počet řádků ovlivněných příkazem. Pokud v tabulce, která se vkládá nebo aktualizuje, existuje spouštěč, vrácená hodnota zahrnuje počet řádků ovlivněných operací vložení nebo aktualizace a počet řádků ovlivněných spouštěčem nebo spouštěči. U všech ostatních typů příkazů je návratová hodnota -1. Pokud dojde k vrácení zpět, návratová hodnota je také -1.
Chcete vrátit počet řádků ovlivněných příkazem a uložit jej do int
proměnná, ale protože typ příkazu je select
takže vrátí -1
.
Řešení :Pokud chcete získat počet řádků ovlivněných příkazem SELECT a uložit jej do proměnné int, můžete použít ExecuteScalar
.
var theCount = (int)cmd.ExecuteScalar();