Sì, hai frainteso il post. L'SQL viene passato così com'è e deve contenere il :param1
corretto o @param1
ecc. Il "nessun prefisso per niente " sta parlando del codice che non vedi - in particolare, assicurandosi che il codice lo faccia (tramite qualche meccanismo):
cmd.Parameters.Add("param1", 963);
contro
cmd.Parameters.Add("@param1", 963);
contro
cmd.Parameters.Add(":param1", 963);
La prima (senza prefisso) è l'opzione corretta e preferita.
Se desideri che l'SQL nel tuo codice sia indipendente dai parametri, puoi utilizzare le informazioni da qui:Ottieni il prefisso del parametro in ADO.NET
L'SQL raramente è abbastanza vicino, tuttavia, la semplice ricerca del prefisso del parametro risolverà tutti i problemi.