En gros, vous devriez éviter d'inclure directement des valeurs dans votre requête.
Nul doute que vous pourriez mettre des guillemets autour de la valeur ... mais vous ne devriez pas. Au lieu de cela, vous devez utiliser du SQL paramétré et mettre la valeur dans le paramètre. De cette façon, vous évitez une conversion de chaîne sujette aux erreurs, vous évitez les attaques par injection SQL (pour les paramètres de chaîne) et vous séparez le code des données.
(Pour illustrer à quel point cela peut être subtilement brisé, votre code actuel utilisera les séparateurs de date et d'heure de la "culture actuelle" - qui peuvent ne pas être /
et :
. Vous pouvez résoudre ce problème en spécifiant CultureInfo.InvariantCulture
... mais il vaut mieux ne pas faire la conversion du tout.)
Rechercher la documentation d'un Parameters
propriété sur n'importe quelle Command
type que vous utilisez (par exemple MySqlCommand.Parameters
) qui, je l'espère, vous donnera des exemples. Il peut même y avoir une section tutoriel dans la documentation pour SQL paramétré. Par exemple, cette page
peut soyez ce que vous recherchez.