Wenn Sie das Zeug auskommentiert, kann ich leicht zu arbeiten, indem Benutzereingaben direkt in der Abfrage hinzufügen, aber wenn ich versuche, es zu parametrisieren, keine der Werte für die Parameter werden ...SqlCommmand Parameter nicht zu UPDATE-Anweisung (C#, MVC)
hinzugefügt einen FehlerDieser Code
definieren Must Tabellenvariable @formTable
aber das Problem ist keiner der Werte wirft hinzufügen nicht nur die Tabellenvariable (verifiziert durch re Tabellenname-Variable mit statischem Text platzieren).
Ich habe viele Insert-Anweisungen in diesem Projekt genau so strukturiert, die perfekt funktionieren. Was mache ich hier falsch?
string constr = ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString;
using (SqlConnection con = new SqlConnection(constr))
{
//string query = "UPDATE " + s.formTable + " SET " + s.column + " = '" + s.cellValue + "' WHERE MasterID = '" + s.id + "'";
string query = "UPDATE @formTable SET @column = @cellValue WHERE MasterID = @id;";
using (SqlCommand cmd = new SqlCommand(query))
{
//SqlParameter param = new SqlParameter("@formTable", s.formTable);
//cmd.Parameters.Add(param);
cmd.Parameters.AddWithValue("@formTable", s.formTable);
cmd.Parameters.AddWithValue("@column", s.column);
cmd.Parameters.AddWithValue("@cellValue", s.cellValue.ToString());
cmd.Parameters.AddWithValue("@id", s.id.ToString());
cmd.Connection = con;
con.Open();
cmd.ExecuteNonQuery();
con.Close();
}
}