bonjour,
j'utilise une une base de données ACCESS 2000 sous MSJET via ADO.
Mon projet fait appel à un grand nombre de requête allant de la plus simple à des requêtes relativement complexes.
Alors que tout fonctionne bien au niveau des requêtes complexes, deux requêtes (update et insert) on ne peut plus simple refusent de fonctionner.
Delphi renvoie : 'EOleException : erreur de syntaxe dans l'instruction UPDATE'
JET renvoie comme erreur : '3000 erreur de syntaxe dans l'instruction UPDATE'
En regardant dans le fichier d'aide JETERR40.CHM, le descriptif de l'erreur est : Erreur réservée <élément> ; aucun message n'est assigné à cette erreur. (Erreur 3000)
J'ai une table Utilisateur qui comprend les champs:
UtilisateurID incrémentAuto
Pseudo Text 20
Password Text 20
OnLine Octet
et ce code (modification du mot de passe):
Le code me semble normal et devrait fonctionner.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 sSql := 'UPDATE Utilisateur SET Password='''+EditNewPass1.Text+ ''' WHERE UtilisateurID='+IntToStr(fidUtil); try with DM.Query1 do begin SQL.Clear; SQL.Add(sSql); ExecSQL; Close; end; except on E:Exception do begin if (DM.CheckLevelJETErreur(E.Message)) then BtokClick(Sender); Exit; end; end;
et pourtant ...
(la requete fonctionne lorsqu'elle est lancée via ACCESS)
Quelqu'un a-t-il eu le même problème ?
Comment solutionner ce problème ?
merci
Partager