Sí, entendiste mal la publicación. El SQL se pasa tal cual y debe contener el :param1
correcto o @param1
etc. El "sin prefijo en absoluto " se refiere al código que no ves - específicamente, asegurándose de que el código lo haga (a través de algún mecanismo):
cmd.Parameters.Add("param1", 963);
contra
cmd.Parameters.Add("@param1", 963);
contra
cmd.Parameters.Add(":param1", 963);
La primera (sin prefijo) es la opción correcta y preferida.
Si desea que el SQL en su código sea independiente de los parámetros, puede usar la información de aquí:Obtener el prefijo del parámetro en ADO.NET
Sin embargo, el SQL rara vez está lo suficientemente cerca como para que solo buscar el prefijo del parámetro solucione todos los problemas.