Heim >Datenbank >MySQL-Tutorial >Wie rufe ich einen Rückgabewert aus einer gespeicherten Prozedur in C# korrekt ab?

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

Barbara Streisand
Barbara StreisandOriginal
2025-01-05 14:47:40700Durchsuche

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

Rückgabewert einer gespeicherten Prozedur in C# abrufen

Beim Ausführen einer gespeicherten Prozedur, die einen Wert in C# zurückgibt, kommt es häufig zu einem logischen Fehler zu einer Null-Rückgabe bedeutet, dass die Abfrage nicht ausgeführt wird.

Um die gespeicherte Prozedur auszuführen und den Rückgabewert abzurufen, müssen Sie dies tun Verwenden Sie die Methode ExecuteNonQuery(), nachdem Sie die erforderlichen Parameter hinzugefügt haben. Der folgende Codeausschnitt zeigt die korrigierte Version des Codes:

SqlConnection SqlConn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["MyLocalSQLServer"].ConnectionString.ToString());
System.Data.SqlClient.SqlCommand sqlcomm = new System.Data.SqlClient.SqlCommand("Validate", SqlConn);

string returnValue = string.Empty;

try
{
    SqlConn.Open();
    sqlcomm.CommandType = CommandType.StoredProcedure;

    SqlParameter param = new SqlParameter("@a", SqlDbType.VarChar);
    param.Direction = ParameterDirection.Input;
    param.Value = Username;
    sqlcomm.Parameters.Add(param);



    SqlParameter retval = sqlcomm.Parameters.Add("@b", SqlDbType.VarChar);
    retval.Direction = ParameterDirection.ReturnValue;

    // Execute the stored procedure
    sqlcomm.ExecuteNonQuery();

    string retunvalue = (string)sqlcomm.Parameters["@b"].Value;
}
catch(Exception ex)
{
    // Handle any exceptions here
}

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

Stellungnahme:
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