Donc c'est bien ce que je disais, tu crées ta requête par concaténation :
string Command = "INSERT INTO facture (numero_facture, email, produit, ttc, date_facture, paiement) VALUES ('" + numFact + "', '" + user + "', '" + idLabel.Value + "', '" + prixttc + "', '" + datecr + "', '0')";
Il ne faut jamais inclure la valeur directement dans la requête.
- Ca pose des problèmes de format des nombres et des dates, car ils ne sont pas formatés pareil selon la langue ; par exemple en français les nombres décimaux s'écrivent avec une virgule, et en SQL il faut les écrire au format américain, donc avec un point. C'est pour ça que tu as des problèmes pour insérer la valeur en base.
- C'est une faille béante de sécurité, en particulier dans une application web (ce qui semble être ton cas), car ton code est vulnérable à une attaque par injection SQL.
Regarde le tutoriel que je t'ai indiqué plus haut pour utiliser une requête paramétrée.
Partager