j'ai cette instruction :
Ma_BDDataSet.Table_ClientRow ligne = Ma_BDDataSet.Table_Client.FindByCode("Code_Client");
aprés j'ai :
ligne.BeginEdit();
qui fait déclencher une exception (object reference not set to an instance)
Comment résoudre ce prob ?
Version imprimable
j'ai cette instruction :
Ma_BDDataSet.Table_ClientRow ligne = Ma_BDDataSet.Table_Client.FindByCode("Code_Client");
aprés j'ai :
ligne.BeginEdit();
qui fait déclencher une exception (object reference not set to an instance)
Comment résoudre ce prob ?
C'est parce que ligne vaut null, sans doute parce que le code client recherché n'existe pas dans la DataTable
Le "code client" existe dans le Data Table mais la méthode Find () retourne toujours une valeur nulle
Si Find renvoie null, c'est qu'il n'existe pas :roll:
A moins que tu ne sois le premier à tomber sur un gros bug à ce niveau là, mais honnêtement j'y crois pas trop...
Tu es sûr que "Code_Client" est bien la valeur du code en question ? ça ressemble plutôt à un nom de colonne...
Oui j'en suis sûr qu'il existe, et j'ai essayer avec l'autre méthode (Rows.Find();) et le resultat est toujours nul;
Comment réaliser une recherche sur Datarow avec une autre méthode autre que Find ();
Comment l'as-tu vérifié ? Essaie de mettre un breakpoint sur le FindByCode, et vérifie le contenu de la DataTable (en cliquant sur la petite loupe dans le tooltip)
S'il est vraiment dans la table, Find ne devrait pas renvoyer null, et je ne vois pas trop quoi te dire de plus :roll:
Re:
* Dans ma BD (sql server 2000)
* et aussi dans le MyData_BaseDataset quand je fais Preview dans ma table client.
la méthode Rows.Contains("Code_Client") retourne False;
Re:
Je peut ajouter des clients à ma table grace à la méthode AddRow();
la methode Fill () est appellée dans l'evenement Load () de la forme.
mais pour modifier la table j'arrive pas à obtenir la ligne courante de ma table pour la modifier, ensuite appeller la méthode Update du TableAdapter.
si tu peut me donner un code explicatif sur la modification de l'enregistrement sélectioné par son code (CodeClient).
non mais attend, il y a un truc qui me semble bizarre dans ton histoire : "Code_Client", c'est le nom d'une colonne, non ? C'est pas la valeur du code pour un client en particulier ?
Sinon je n'ai pas vraiment d'exemple autre que ce que tu as déjà fait, ta méthode me semble correcte... mais encore une fois, si Find renvoie null, c'est que la ligne n'existe pas, je vois pas comment faire plus clair.
Essaie de faire comme je t'ai dit, en mettant un breakpoint pour voir le contenu de la table lors de l'exécution
Re:
"Code_client" est en même temps non de colonne et valeur de colone (exemple d'essai),
le prob etait dans la méthode Fill (); elle n'etait pas dans le bon emplacement,
Merci Mon frère.