Bonjour,
je vous expose mon problème.
J'ai plusieurs champs dans un formulaire d'ajout dans une base de données Access.
Si dans un de ces champs (JTextArea, JTextField, ....) l'utilisateur rentre un quotte ==> ' (peut être aussi d'autres caracs pas encore test) cela fait foiré la requête sql qui considère le quotte comme étant un élément de syntaxe de la requête.
Exemple :
dans le textArea, je rentre : Passe de l'operating system.
Ma requête SQL deviendra foireuse et renvoie ceci :
Remarquez le double quotte à james '' et sur 'Panne de l'operating system'.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 INSERT INTO Intervention (NoInterv,DateSignalement,DescriptifBrefProblème,SignaleurIncident,PreneurEnCharge,EtatInterv,SuiviViaFournisseur,DateContact,DatePrise,EtatRetour,DateRetour,DateRemiseService,TempsInterne,Résultat,FkFournisseuIntervenant,FkPcUnit,FkTypeInterv) values (12,#05/19/2009#,'Panne de l'operating system','james '','ss','Clôturé',false,null,null,null,null,null,null,null,null,'W3500102 ','I04') java.sql.SQLException: [Microsoft][Pilote ODBC Microsoft Access] Erreur de syntaxe (opérateur absent) dans l'expression ''Panne de l'operating system','james '''.
Je souhaite donc implémenter un KeyListener qui si on tape le quotte, affiche un message d'erreur, et également le retire du textfield ou textarea.
Pas de prob pour le message d'erreur, par contre pour le reste j'avouerai que je bloque.
Si quelqu'un peut m'aider !
Merci d'avance
Partager