Consultez le code suivant:Paramètres sql inutilisés - sont-ils dangereux?
Dim sql = "SELECT * FROM MyTable WHERE value1 = @Param1"
If someCondition Then
sql = sql + " AND value2 = @Param2"
End If
Dim cmd As New SqlCommand(sql, conn)
cmd.Parameters.AddWithValue("@Param1", param1Value)
cmd.Parameters.AddWithValue("@Param2", param2Value)
En supposant que je construit une instruction SQL complexe dynamique qui peut ou peut ne pas avoir inclus le paramètre @Param2
- est-il mal à l'ajouter à la commande en tant que paramètre?
Mon vrai cas d'utilisation est évidemment beaucoup plus compliqué que cela, mais en général, est-ce un modèle que je devrais éviter; et si oui, pourquoi?
@marc_s: Je suis en train de faire cela, je voulais juste simplifier mon exemple de code. – DanP
@DanP: ok, super - c'est mon seul point à savoir quand il s'agit d'utiliser des paramètres avec le code ADO.NET –
@marc_s: Qu'en est-il de ma question originale? utilise des paramètres comme je l'ai décrit une mauvaise idée? – DanP