Como criar uma consulta SQL parametrizada? Por que eu deveria

uvi dizer que "todo mundo" está usando consultas SQL parametrizadas para se proteger contra ataques de injeção de SQL sem ter que avaliar todas as informações do usuári

Como você faz isso? Você consegue isso automaticamente ao usar procedimentos armazenados?

Então, meu entendimento não é parametrizado:

cmdText = String.Format("SELECT foo FROM bar WHERE baz = '{0}'", fuz)

Isso seria parametrizado?

cmdText = String.Format("EXEC foo_from_baz '{0}'", fuz)

Ou preciso fazer algo mais extenso como esse para me proteger da injeção de SQ

With command
    .Parameters.Count = 1
    .Parameters.Item(0).ParameterName = "@baz"
    .Parameters.Item(0).Value = fuz
End With

xistem outras vantagens em usar consultas parametrizadas além das considerações de seguranç

Update: Este ótimo artigo foi vinculado em uma das referências de perguntas de Grotok.http: //www.sommarskog.se/dynamic_sql.htm

questionAnswers(6)

yourAnswerToTheQuestion