Heim >Datenbank >MySQL-Tutorial >Wie rufe ich einen Rückgabewert aus einer gespeicherten Prozedur in C# korrekt ab?
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!