Heim >Datenbank >MySQL-Tutorial >Warum löst meine gespeicherte SQL-Prozedur den Fehler „Prozedur oder Funktion ‚...' erwartet Parameter ‚@Parametername', der nicht angegeben wurde' aus?
Gespeicherte Prozedur oder Funktion erwartet Parameter, der angeblich bereitgestellt wird
Beim Aufrufen einer gespeicherten Prozedur zum Einfügen von Daten in eine SQL Server-Datenbank kann es vorkommen, dass Folgendes auftritt: der Fehler „Prozedur oder Funktion ‚Name der gespeicherten Prozedur‘ erwartet den Parameter ‚@Parametername‘, der nicht angegeben wurde.“ Diese Fehlermeldung kann verwirrend sein, insbesondere wenn Sie überprüft haben, dass die gespeicherte Prozedur über die richtigen Parameter verfügt und diese in Ihrem Code bereitgestellt werden.
Fehlerbehebung
Um dieses Problem zu beheben, lesen Sie Folgendes sorgfältig durch:
Beispielcode-Update
Hier ist eine aktualisierte Version Ihres Codes, die den explizit angibt Befehlstyp und Parameterwerte:
public void SHOWuser(string userName, string password, string emailAddress, List<int> preferences) { using var dbcon = new SqlConnection(conn); using var cmd = new SqlCommand(); cmd.Connection = dbcon; cmd.CommandType = System.Data.CommandType.StoredProcedure; cmd.CommandText = "SHOWuser"; cmd.Parameters.AddWithValue("@userName", userName); cmd.Parameters.AddWithValue("@password", password); cmd.Parameters.AddWithValue("@emailAddress", emailAddress); dbcon.Open(); int i = Convert.ToInt32(cmd.ExecuteScalar()); cmd.Parameters.Clear(); cmd.CommandText = "tbl_pref"; foreach (int preference in preferences) { cmd.Parameters.Clear(); cmd.Parameters.AddWithValue("@userID", Convert.ToInt32(i)); cmd.Parameters.AddWithValue("@preferenceID", Convert.ToInt32(preference)); cmd.ExecuteNonQuery(); } }
Durch sorgfältige Prüfung der Parameternamen, Datentypen, Befehlstypen und Parameterreihenfolge können Sie Abhilfe schaffen Beheben Sie diesen Fehler und führen Sie Ihre gespeicherte Prozedur erfolgreich aus.
Das obige ist der detaillierte Inhalt vonWarum löst meine gespeicherte SQL-Prozedur den Fehler „Prozedur oder Funktion ‚...' erwartet Parameter ‚@Parametername', der nicht angegeben wurde' aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!