Erreur sur mise à jour d'un record

yamino Messages postés 9 Date d'inscription mardi 20 mai 2003 Statut Membre Dernière intervention 8 juillet 2009 - 29 juin 2007 à 15:58
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 - 9 juil. 2007 à 18:25
Bonjour à tous,

J'ai une erreur assez bizarre. J'ai un dbgrid avec une liste de fournisseur. Dans l'événement OnCellClick j'ai mis :
edit1.Text := monADODataSet.FieldByName('name').AsString
Jusque là pas de problème...
Maintenant dans mon edit1 dans l'événement OnExit :
with monADODataSet do
begin
  Edit;
  FieldByName('Fournisseur').AsString := edtName.Text;
  Post;
end;

Je n'ai aucun soucis si je change la valeur dans mon edit, par contre si je ne change rien et que je sors j'ai l'erreur suivante :
Le projet a déclenché la classe d'exception EOleException avec le message 'La ligne n'a pas pu être trouvée pour la mise à jour. Certaines valeurs ont peut-être changé depuis leur dernière lecture'.

Pour info je suis avec Delphi 2007 et je me connecte à une base de données MySQL via ADO

Merci

4 réponses

cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 14
6 juil. 2007 à 19:39
je ne connais pas delphi 7 mais ADO çà va..
curieux quand même de faire un update d'un champ sur son exit..
enfin bref..


Ton erreur vient tout simplement du fait que lorque tu ne fais rien et que tu sors,


l'exit se déclenche quand même (mets un point d'arrêt et tu verras)
et il faudrait vérifier quà ce moment si il y a quelque chose dans le DBGrid


Si il n'y a rien, c'est le prog ne sait pas traiter les valeurs nulles donc il faut faire un test.
Si il y a une valeur, c'est plus génant, c'est certainement ADO version 2007 et il faut chercher à désactiver ce message à la noix.


@+

cantador
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 14
6 juil. 2007 à 19:40
désolé, je voulais dire delphi 2007..

cantador
0
yamino Messages postés 9 Date d'inscription mardi 20 mai 2003 Statut Membre Dernière intervention 8 juillet 2009
9 juil. 2007 à 08:04
merci de ta réponse cantador

J'ai fait sur le OnExit uniquement pour tester 


Effectivement c'est ce que je fais maintenant. J'ai un boolean qui vérifie s'il y a un changement ou non dans mes Edit...
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 14
9 juil. 2007 à 18:25
merci de cliquer "réponse acceptée"

cantador
0
Rejoignez-nous