Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Getchanges deleted rows [ Base de données / MySQL ] (olibara)

mardi 19 février 2008 à 16:31:41 | Getchanges deleted rows

olibara

Bonjour

J'utilise la methode getchanges pour connaitre les rows modifiés par un datagridview dans un dataset

pour added et modified ca semble facile mais pour deleted, j'ai bien un row avec satus deleted je ne vois pas de data
Comment puis-connaitre la clef originale afin d'appliquel de delete dans la DB ??

mardi 19 février 2008 à 18:58:42 | Re : Getchanges deleted rows

olibara

Bonjour

Comme tout le monde semble muet pour toute qustion d'update de DB je vais fournir le resultat de mes essais-erreurs, cela sertvira peut-etre a d'autres .....

Comment mettre a jour une DB a partir d'un DataGridView ?
Le datasource du DataGridView est un dataset rempli avec un datadapter

Premiere chose :
Remplir un dataset avec les modifications demandées

ch = dsAddr.GetChanges();
(ceci chargera un dataset avec tous les rows modifies et leurs status)
J'ai été surpris de voir que les rows déletés apparaisaient sans data visible (avec le debugger) mais la methode update se débrouille tres bien avec

Cependant Getchange() peut etre appelé avec un type de modification souhaité 
Voici un exemple pour l'operation Delete :

      DataSet ch = new DataSet();         // declaration du dataset temporaire pour charger les rows a traiter
      ch = dsAddr.GetChanges(DataRowState.Deleted);  // chargement des rows deleté
// construction de la commande SQL de delete
      adaAddr.DeleteCommand = new MySqlCommand("DELETE FROM address WHERE addrID=?addrID", conn);
// construction du parametrage de la commande delete
      adaAddr.DeleteCommand.Parameters.Add("?addrID", MySqlDbType.Int32, 11, "addrID").SourceVersion = DataRowVersion.Original;
// execution du delete
      adaAddr.Update(ch);
// ET VOILA
// J'ai peut etre réveillé ici quelques spécialiste qui pousseront des cris d'horreurs pour dirte que c'est pas comme ca qu'il faut faire mais tant mieux car jusqu'ici : Silence Radio ........

En tout cas ca marche
Pour UPDATE et INSERT je vais encore investiguer mais il semble que la construction de la commande soit plus fastitieuse car il faut enumerer tous les champs...
A suive ...


mardi 19 février 2008 à 23:15:50 | Re : Getchanges deleted rows

olibara

Pour ceux que ca interesse, j'ai trouvé plus simple encore !!

mardi 29 avril 2008 à 15:01:14 | Re : Getchanges deleted rows

fontome_123


bonjour
si c'est possible tu as dit que tu as troouvé un truc plus simple c quoi
fontome viendra le soir ,vous hantez faites gaf

mardi 29 avril 2008 à 15:10:34 | Re : Getchanges deleted rows

olibara

Tiens !!

Première réaction depuis deux mois !

Fantome pas tres actif sur ce sujet

Exemple ci apres :

    // **************************************************************************
    private void do_UpdChauf()
    {

      MySqlCommandBuilder cb = new MySqlCommandBuilder(adaChauffUpd);
      DataSet ch = new DataSet();
      ch = dsChauffUpd.GetChanges(DataRowState.Deleted);

      if (null != ch)
      {
        int del = adaChauffUpd.Update(ch);
      }
      ch = dsChauffUpd.GetChanges(DataRowState.Modified);
      if (ch != null)
      {
        int upd = adaChauffUpd.Update(ch);
      }

      ch = dsChauffUpd.GetChanges(DataRowState.Added);
      if (ch != null)
      {
        int add = adaChauffUpd.Update(ch);
      }
      return;
    }


mardi 29 avril 2008 à 17:08:40 | Re : Getchanges deleted rows

fontome_123

euh ca fait juste qql jours que je galere avec cette DGV
en faite moi je develope avec vbnet2005
donc j'ai convertie ton code
mais il m'affiche une erreur au niveau de :
ch = dsChauffUpd.GetChanges(DataRowState.Modified
il me dit: Object reference not set to an instance of an object.
en fait je veux savoir pour adaChauffUpd tu le crée a nouveau ou bien tu utilise celui avec quoi tu as crée la dataset, car moi je crée un autre mais moi ca marche pas
fontome viendra le soir ,vous hantez faites gaf

mardi 29 avril 2008 à 17:35:07 | Re : Getchanges deleted rows

fontome_123

en plus a quoi sert
MySqlCommandBuilder cb = new MySqlCommandBuilder(adaChauffUpd);
puisque c jamais  utilisé

fontome viendra le soir ,vous hantez faites gaf

mardi 29 avril 2008 à 18:26:45 | Re : Getchanges deleted rows

olibara

Salut

1- adachaufupd c'est l'adapteur utilisé poutr la requete du fill de ton DGV et c'est LUI que tu dois utiliser car c'est LUI qui connait l'information de la DB

2- Ne te fie pas aux apparence ! MySqlCommandBuilder est Essentiel et c'est la que reside toute la magie de la chose, il va preparer dans l'adapter les syntaxes SQL de mise a jour qui te permet les commandes suivantes ...


mardi 29 avril 2008 à 23:48:37 | Re : Getchanges deleted rows

fontome_123

okok
enfin ca marche jsute 2 truc
->1er :remarque il faut mettre(en c#) int add = adaChauffUpd.Update(ch.tables(0)); 'pour que ca marche sinon tu aurra droit a une erreur [(0)supposant qu'on veux la 1er table].
->2eme :question le test que tu fait
(ch != null)
c'est pour verifier le dataset est vide? si c'est vrai comment en fait vbnet2005 stp si tu as un idee?

fontome viendra le soir ,vous hantez faites gaf

mardi 29 avril 2008 à 23:48:37 | Re : Getchanges deleted rows

fontome_123

okok
enfin ca marche jsute 2 truc
->1er :remarque il faut mettre(en c#) int add = adaChauffUpd.Update(ch.tables(0)); 'pour que ca marche sinon tu aurra droit a une erreur [(0)supposant qu'on veux la 1er table].
->2eme :question le test que tu fait
(ch != null)
c'est pour verifier le dataset est vide? si c'est vrai comment en fait vbnet2005 stp si tu as un idee?

fontome viendra le soir ,vous hantez faites gaf


1 2 3

Cette discussion est classé dans : rows, connaitre, getchanges, deleted


Répondre à ce message

Sujets en rapport avec ce message

Connaitre toutes les tables présentes dans une bd [ par reyman ] J'ai créé un objet connection pour me connecter a ma base sql server et j'aimerai récuperer la liste de toutes les tables présentes dans cette base.Co Déplacer des Rows d'une table à l'autre dans une meme base [ par corine ] Salut,j'ai un problème pour couper des Lignes dans une table et les coller dans un autre...j'ai essayer avec ImportRow ça ne fait absolument rien (je Connaitre sa vitesse d'Upload et de Download [ par Tsu91 ] Bonjour,J'ai deja esayé le code du site CodeProject mais il ne fonctionne pas chez moi (probleme de lecture de mon modem o_O).J'aimerais savoir s'il e Comment connaitre les membres actuelement sur le site [ par dionysos6868 ] Bonjourje recherche le moyen de connaitre le login des membres connaiter apres authentification sur mon site.merci de votre aideDionysoswww.hackeinfo. List d'object [ par fdouieb ] Bonjour est ce qu'il existe une structure ou autre chose qui nous permet de connaitre l'ensemble des éléments sur une fenetre "Form".Exemple: de façon LinkLabel [ par fredspv ] Bonjour,J'ai crée plusieurs LinkLabel[] et aimerai connaitre le nom du linkLabel cliqué mais comment le connaitre ?Mercifred transac SQL [ par philo71 ] Bonjour,Je suis entrain de développer une application transac SQL sur sql serveur en C#,apres l'appel d'un proc stock (procédure stockée) , le program pb de propriétés dans dataset [ par cococo84 ] bonjour, g créé un dataset(voir ci-dessous),et je voudrais associer des propriétés(cf dw1() et dw2()) pour chaque cellules(cf calculsgéo.Rows.Add(new je voudrais connaitre la taille que me prendrait un texte à l'affichage... [ par Smalo ] Salut, Voilà mon soucis : je voudrais connaitre à l'avance la taille que me prendrai l'affichage d'un texte.par exemple comme les combobox, quand elle GridView et nouvelle ligne HELP [ par aurelie ] J'ai un problème sur l'ajout d'une ligne dans une GridView (version 2005 de visual studio .net).A l'ouverture de ma page, je remplit ma gridview d'une


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,468 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.