Basicamente, quando você executa um
SQLCommand
usando SQLParameters
, os parâmetros nunca são inseridos diretamente na instrução. Em vez disso, um procedimento armazenado do sistema chamado sp_executesql
é chamado e recebe a string SQL e o array de parâmetros. Quando usados como tal, os parâmetros são isolados e tratados como dados, em vez de precisarem ser analisados fora da instrução (e, portanto, possivelmente alterá-la), de modo que o que os parâmetros contêm nunca pode ser "executado". Você receberá apenas um grande erro de que o valor do parâmetro é inválido de alguma forma.