Baseret på MSDN:
For UPDATE-, INSERT- og DELETE-sætninger er returværdien antallet af rækker, der påvirkes af kommandoen. Når der findes en trigger på en tabel, der indsættes eller opdateres, inkluderer returværdien antallet af rækker, der er påvirket af både indsættelses- eller opdateringshandlingen, og antallet af rækker, der påvirkes af triggeren eller triggerne. For alle andre typer udsagn er returværdien -1. Hvis der sker en tilbagerulning, er returværdien også -1.
Du vil returnere antallet af rækker, der er påvirket af kommandoen, og gemme det i en int
variabel, men da sætningstypen er select
så det returnerer -1
.
Løsning :Hvis du ønsker at få antallet af rækker påvirket af SELECT-kommandoen og gemme det i en int-variabel, kan du bruge ExecuteScalar
.
var theCount = (int)cmd.ExecuteScalar();