Heim > Backend-Entwicklung > C++ > Wie rufe ich einen Rückgabewert aus einer gespeicherten SQL Server-Prozedur in C# ab?

Wie rufe ich einen Rückgabewert aus einer gespeicherten SQL Server-Prozedur in C# ab?

Linda Hamilton
Freigeben: 2025-01-20 01:11:08
Original
797 Leute haben es durchsucht

How to Retrieve a Return Value from a SQL Server Stored Procedure in C#?

Zugriff auf Rückgabewerte von gespeicherten SQL Server-Prozeduren in C#

In diesem Artikel wird erläutert, wie Rückgabewerte aus gespeicherten SQL Server-Prozeduren innerhalb einer C#-Anwendung korrekt abgerufen werden. Ein häufiges Problem tritt auf, wenn versucht wird, auf einen Rückgabewert – beispielsweise die nächste Sequenznummer – ohne ordnungsgemäße Parameterbehandlung zuzugreifen.

Das Beispiel verwendet eine gespeicherte Prozedur, usp_GetNewSeqVal, die einen Sequenzwert in der AllSequences-Tabelle erhöht und den aktualisierten Wert zurückgibt. Der C#-Code stellt eine Verbindung zur Datenbank her und führt die gespeicherte Prozedur mit SqlCommand.

aus

Der Schlüssel zum Abrufen des Rückgabewerts besteht darin, einen Parameter mit ParameterDirection.ReturnValue zur Parametersammlung von SqlCommand hinzuzufügen. Dieser dedizierte Parameter fungiert als Container für die Ausgabe der gespeicherten Prozedur.

Hier ist der korrigierte C#-Codeausschnitt:

<code class="language-csharp">using (SqlCommand cmd = conn.CreateCommand())
{
    // ... other code ...

    // Add a parameter to receive the return value
    SqlParameter returnParameter = cmd.Parameters.Add("@ReturnVal", SqlDbType.Int);
    returnParameter.Direction = ParameterDirection.ReturnValue;

    // ... other code ...

    conn.Open();
    cmd.ExecuteNonQuery();
    int result = (int)returnParameter.Value; // Cast to appropriate type
}</code>
Nach dem Login kopieren

Durch Setzen von ParameterDirection auf ReturnValue wird SqlParameter als Empfänger des Rückgabewerts der gespeicherten Prozedur festgelegt. Nach ExecuteNonQuery() enthält die Eigenschaft Value dieses Parameters den zurückgegebenen Wert, auf den dann von der C#-Anwendung zugegriffen und dieser verwendet werden kann. Denken Sie daran, die Eigenschaft Value in den richtigen Datentyp umzuwandeln.

Das obige ist der detaillierte Inhalt vonWie rufe ich einen Rückgabewert aus einer gespeicherten SQL Server-Prozedur in C# ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage