Sim, você não entendeu o post. O SQL é passado como está e deve conter o
:param1
correto ou @param1
etc. O "sem prefixo de todo " está falando sobre o código que você não vê - especificamente, certificando-se de que o código faz (através de algum mecanismo):cmd.Parameters.Add("param1", 963);
vs
cmd.Parameters.Add("@param1", 963);
vs
cmd.Parameters.Add(":param1", 963);
A primeira (sem prefixo) é a opção correta e preferida.
Se você quiser que o SQL em seu código seja agnóstico de parâmetros, você pode usar as informações aqui:Obter o prefixo do parâmetro no ADO.NET
O SQL raramente está próximo o suficiente, no entanto, apenas procurar o prefixo do parâmetro resolverá todos os problemas.