Mysql
 sql >> Base de données >  >> RDS >> Mysql

en utilisant c # datetime dans la requête de mise à jour mysql

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.