Bonjour,
J'ai un problème sur les commande UPDATE et DELETE d'un DAtaAdapter (aussi bien en OleDb qu'en MySQL). Voulant tester que l'enregistrement modifié ou détruit n'a pas été mis à jour entre-temps par un autre utilisateur, je fait un WHERE avec l'identité des valeurs de tous les champs.
Ca marche bien lorsque toutes les valeurs initiales sont remplies.
Mais quand l'une d'entre elles est vide, il y a erreur de syntaxe.
J'utilise comme partie comme clause WHERE du CommandText :
dans lequels les '?' représentent la valeur des champs passées en parameters des UpdateCommand et des DeleteCommand.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 WHERE ( (FIELD1 = ?) OR ((FIELD1 IS NULL) AND (? = NULL)) AND (FIELD2 = ?) OR ((FIELD2 IS NULL) AND (? = NULL)) AND ... )
Des idées pour résoudre le problème?
PS: le remplacement des "?" par "@FIELDX" ne change rien au problème.
Partager