Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

SQL SELECT mit gespeicherter Prozedur und Parametern?

Hier machen Sie einen Fehler:

cmd.ExecuteNonQuery();

Sie sind Ausführen einer Abfrage.

Sie müssen ExecuteReader oder ExecuteScalar stattdessen. ExecuteReader wird für eine Ergebnismenge (mehrere Zeilen/Spalten) verwendet, ExecuteScalar wenn die Abfrage ein einzelnes Ergebnis zurückgibt (sie gibt object zurück , daher muss das Ergebnis in den richtigen Typ umgewandelt werden).

var result = (int)cmd.ExecuteScalar();

Die results Variable enthält jetzt einen OledbDataReader oder ein Wert mit den Ergebnissen von SELECT . Sie können über die Ergebnisse (für einen Leser) oder den Skalarwert (für einen Skalar) iterieren.