Heim > Datenbank > MySQL-Tutorial > Wie rufe ich Rückgabewerte von gespeicherten Prozeduren in C# ab?

Wie rufe ich Rückgabewerte von gespeicherten Prozeduren in C# ab?

Patricia Arquette
Freigeben: 2025-01-06 02:55:39
Original
392 Leute haben es durchsucht

How to Retrieve Return Values from Stored Procedures in C#?

Rückgabewerte von gespeicherten Prozeduren in C# abrufen

In diesem Artikel wird erläutert, wie Rückgabewerte von gespeicherten Prozeduren in C# abgerufen werden.

Betrachten wir die folgende gespeicherte Prozedur mit dem Namen „[dbo].[Validate]“:

ALTER PROCEDURE [dbo].[Validate]
@a varchar(50),
@b varchar(50) output

AS

SET @Password = 
(SELECT Password
FROM dbo.tblUser
WHERE Login = @a)

RETURN @b
Nach dem Login kopieren

Um diese gespeicherte Prozedur auszuführen und den Rückgabewert abzurufen, können Sie den folgenden Code verwenden:

using System;
using System.Data;
using System.Data.SqlClient;

namespace StoredProcedureReturnValue
{
    class Program
    {
        static void Main(string[] args)
        {
            // Assuming you have a connection string defined in your app config
            string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["MyLocalSQLServer"].ConnectionString;

            // Create a connection and command object
            using (SqlConnection SqlConn = new SqlConnection(connectionString))
            using (SqlCommand sqlcomm = new SqlCommand("Validate", SqlConn))
            {
                // Specify the stored procedure
                sqlcomm.CommandType = CommandType.StoredProcedure;

                // Add input parameters
                SqlParameter inputParam = new SqlParameter("@a", SqlDbType.VarChar, 50);
                inputParam.Value = "myUsername";
                sqlcomm.Parameters.Add(inputParam);

                // Add an output parameter to receive the return value
                SqlParameter outputParam = new SqlParameter("@b", SqlDbType.VarChar, 50);
                outputParam.Direction = ParameterDirection.ReturnValue;
                sqlcomm.Parameters.Add(outputParam);

                // Open the connection and execute the stored procedure
                SqlConn.Open();
                sqlcomm.ExecuteNonQuery();

                // Retrieve the output value
                string returnValue = (string)outputParam.Value;

                // Do something with the return value
                Console.WriteLine($"Return value: {returnValue}");
            }
        }
    }
}
Nach dem Login kopieren

Schlüssel Beachten Sie Folgendes:

  • Denken Sie daran, ExecuteNonQuery() für das SqlCommand-Objekt aufzurufen, um das Gespeicherte auszuführen Prozedur.
  • Die Richtung des Ausgabeparameters muss auf ReturnValue gesetzt werden, um den Rückgabewert zu erhalten.
  • Zuletzt rufen Sie den Rückgabewert aus der Value-Eigenschaft des Ausgabeparameters ab.

Das obige ist der detaillierte Inhalt vonWie rufe ich Rückgabewerte von gespeicherten Prozeduren 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