Heim >Backend-Entwicklung >C++ >Wie rufe ich mit ADO.NET einen Rückgabewert aus einer gespeicherten Prozedur in C# ab?
Rufen Sie eine gespeicherte Prozedur mit Rückgabewert in C# auf
Eine häufige Notwendigkeit beim Zugriff auf eine Datenbank besteht darin, gespeicherte Prozeduren aus einer Anwendung aufzurufen, insbesondere solche, die numerische Werte zurückgeben. In diesem Artikel wird gezeigt, wie Sie mit ADO.NET eine gespeicherte Prozedur aufrufen, die einen ganzzahligen Wert zurückgibt, und das Ergebnis in einer C#-Anwendung abrufen.
Gespeicherte Prozedur
Betrachten Sie die gespeicherte Prozedur usp_GetNewSeqVal
, die den nächsten Wert einer Sequenz mit einem Sequenznamen abruft. Es empfängt den Parameter @SeqName
als Eingabe und gibt den neuen Sequenzwert zurück.
C#-Code
Um diese gespeicherte Prozedur aufzurufen und den Rückgabewert abzurufen, können wir den folgenden Code verwenden:
<code class="language-csharp">using (SqlConnection conn = new SqlConnection(getConnectionString())) using (SqlCommand cmd = conn.CreateCommand()) { cmd.CommandText = parameterStatement.getQuery(); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@SeqName", "SeqNameValue"); // @ReturnVal 可以是任何名称 var returnParameter = cmd.Parameters.Add("@ReturnVal", SqlDbType.Int); returnParameter.Direction = ParameterDirection.ReturnValue; conn.Open(); cmd.ExecuteNonQuery(); var result = returnParameter.Value; }</code>
Wichtige Details
SqlCommand
Konfigurieren Sie mit dem richtigen Befehlstext und -typ. @SeqName
hinzugefügt. @ReturnVal
hinzu, dessen Richtung auf ParameterDirection.ReturnValue
eingestellt ist. Dadurch wird der Befehl angewiesen, eine Variable in der gespeicherten Prozedur zu erstellen und ihr den Rückgabewert zuzuweisen. ExecuteNonQuery
wird die Verbindung geöffnet und die Abfrage ausgeführt. returnParameter.Value
abgerufen werden. Das obige ist der detaillierte Inhalt vonWie rufe ich mit ADO.NET einen Rückgabewert aus einer gespeicherten Prozedur in C# ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!