Ich brauche eine Plausibilitätsprüfung hier .... Ich habe eine sehr einfache ExecuteNonQuery. Ich übergebe Werte an einen Sproc, aber es gibt immer wieder einen Fehler, dass der erste Wert nicht einmal übergeben wurde.Parameter, der nicht an SQL übergeben wird Prozedur
using (SqlConnection sqlConnection = new SqlConnection(ConnectionString))
{
sqlConnection.Open();
using (SqlCommand sqlCommandLogError = new SqlCommand("MyStoredProc", sqlConnection))
{
sqlCommandLogError.Parameters.AddWithValue("logEntry", logEntry);
sqlCommandLogError.Parameters.AddWithValue("EventLogEntryType", EventLogEntryType);
sqlCommandLogError.Parameters.AddWithValue("EventID", eventId);
sqlCommandLogError.ExecuteNonQuery();
}
}
ich festgestellt, dass Parameter in dem Verfahren existieren ich sie in dem Verfahren auf Null gesetzt, um sicherzustellen, dass die Felder in der sproc tatsächlich korrekt waren und es funktionierte (es ausdrückte alle NULL-Werte in der Datenbank)
Irgendeine Idee, warum das Verfahren denkt, dass keine Parameter übergeben werden?
AKTUALISIERT Frage Eventhough dies antwortet ich von einigen der Experten aus ihr hören würde gerne: Ist der @symbol in einem Parameter erforderlich (es scheint nicht) und warum es meine sproc sogar in einem ohne setzen Befehlstyp.
Sie benötigen die Commandtype-Eigenschaft des SqlCommand zu StoredProcedure einzustellen. –