Ja, du missförstod inlägget. SQL:n skickas i befintligt skick och måste innehålla korrekt :param1
eller @param1
etc. "inget prefix alls " talar om koden som du inte ser - specifikt, se till att koden gör det (via någon mekanism):
cmd.Parameters.Add("param1", 963);
kontra
cmd.Parameters.Add("@param1", 963);
kontra
cmd.Parameters.Add(":param1", 963);
Det första (inget prefix) är det korrekta och föredragna alternativet.
Om du vill att SQL i din kod ska vara parameteragnostisk kan du använda informationen härifrån:Hämta parameterprefixet i ADO.NET
SQL är dock sällan tillräckligt nära för att bara leta upp parameterprefixet kommer att lösa alla problem.