Grundlegende Methode zum Aufrufen einer gespeicherten Prozedur und zur Verwendung des Rückgabewerts
Autor:Eve Cole
Aktualisierungszeit:2009-05-31 00:08:21
Ich habe nie eine gute Möglichkeit gefunden, gespeicherte Prozeduren mit Rückgabewerten zu referenzieren, weshalb ich beim Hinzufügen von Daten viele Umwege in Kauf nehmen musste. Nachdem ich viele Informationen konsultiert hatte, fand ich sie schließlich in einer Instanz von Microsoft.
Schreiben Sie zunächst eine gespeicherte Prozedur mit einem Rückgabewert
Erstellen Sie die Prozedur proc_name
@para1 nchar(20), --input Parameter
@para2 int = null out --Ausgabeparameter für die Programmverwendung
als
nocount einschalten
if ( nicht vorhanden (wählen Sie * vom Mitarbeiter aus, wobei em_name=@para1 ))
beginnen
In Mitarbeiter(namen)-Werte einfügen(@para1)
select @para2=@@identity – gibt die ID des hinzugefügten Datensatzes zurück
return 1 – gibt zurück, ob die Daten erfolgreich hinzugefügt wurden
Ende
anders
return 0 --return failed
gehen
Dann gibt es noch die Methode zum Aufrufen der gespeicherten Prozedur
sqlcommand-Befehl;
command = new sqlcommand(proc_name,new sqlconnection(connectionstr));
command.paraments.add("@para1"),"name1"); //Eingabeparameter, Mitarbeitername
command.paraments.add(new sqlparament("@para2", //Ausgabeparameter generieren
SqlDbType.Int; //Parameterdatentyp
ParamenterDirection.OutPut, //Eingabe- und Ausgabetyp
0,
0,
string.Emplty,
DataRowVersion.Default,
null) //Parameterwert, erforderlich bei der Eingabe von Parametern
);
command.commandtype=commandtype.StoredProcedure;
command.connection.open();
command.executenonQuery();
int pkid=(int)command.Parameters["@para2"].value; //Den Wert des Ausgabeparameters abrufen
command.connection.close();
Hier sind die Referenzausgabeparameter (ob die Daten erfolgreich hinzugefügt wurden), Sie müssen nur den Typ von ParamenterDirection in returnvalue ändern.