Die gespeicherte Prozedur wird ordnungsgemäß ausgeführt, wenn sie in SQL Server Management Studio ausgeführt wird.Gespeicherte Prozedur mit nicht angegebenen Werten, obwohl der Wert übergeben wurde
In C# (WinForms) Ich habe den folgenden Code:
InsertWarning.Parameters.AddWithValue("@idUser", userIDAuth);
InsertWarning.Parameters.AddWithValue("@idPass", idPass);
if (Privileged)
MessageWarning += " gave you privileged access to note " + Description;
else
MessageWarning += " gave you access to note " + Description;
InsertWarning.Parameters.AddWithValue("@Message", MessageWarning);
InsertWarning.ExecuteNonQuery();
InsertWarning.Parameters.Clear();
Wenn ExecuteNonQuery()
läuft es aufhört zu sagen die @idUser
keinen Wert hat.
gespeicherte Prozedur in C#:
SqlCommand InsertWarning = new SqlCommand("_spInsertWarnings", TeamPWSecureBD);
InsertAuths.CommandType = CommandType.StoredProcedure;
gespeicherte Prozedur in SQL:
[dbo].[_spInsertWarnings]
@idUser int, @idPass int, @Message nvarchar(MAX)
AS
INSERT INTO Warnings
VALUES(@idUser, @idPass, @Message)
Aufgrund der Formatierung des ursprünglichen Posts sieht es so aus, als wäre es Teil eines logischen Zweiges. Gibt es anderswo, dass dieser Prozess aufgerufen wird? Außerdem ist der Datentyp @ @ idUser im gespeicherten Proc. Kannst du auch den Header des Stored Proc hochladen? –
Was zeigt Sql Profiler beim Ausführen der gespeicherten Prozedur? –
// Können Sie die Clear-Methode auf den Zusatz setzen ... Und noch einmal versuchen? InsertWarning.Parameters.Clear(); InsertWarning.Parameters.AddWithValue ("@ idUser", userIDAuth); InsertWarning.Parameters.AddWithValue ("@ idPass", idPass); if (Privilegiert) MessageWarning + = "gab Ihnen bevorzugten Zugriff auf die Notiz" + Beschreibung; sonst MessageWarning + = "gab Ihnen Zugriff auf die Notiz" + Beschreibung; InsertWarning.Parameters.AddWithValue ("@ Message", MessageWarning); InsertWarning.ExecuteNonQuery(); – sarathkumar