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 : DataSet Mis à jour [ Base de données / ADO.NET ] (EvilGost)

jeudi 15 février 2007 à 15:04:44 | DataSet Mis à jour

EvilGost

Membre Club
Bonjour à tous amis développeurs,

Je vous expose mon soucis.
J'ai une base Access et une application sur 2 postes différents, qui accèdent tous deux à cette même base access.
Les deux postes peuvent effectuer des modifications sur une table dans la base de données (ajout de lignes, suppression de lignes et modification de lignes)
Plutot de créer un dataset qui va s'alimenter complètement plusieurs fois par minute, je me suis dit qu'il serait plus pratique de créer un DataSet en public qui se met à jour dès qu'une modif est effectuer sur la table.

Ma question est donc:
Comment faire pour que le dataset (ou la datatable contenu dedans) ne mette à jour la tabel dans la base de données qu'aux lignes modifiés, et, qu'en plus, je puisse savoir si une ligne a été modifié, ajouter ou supprimer (propriété rowstate je crois, mais j'ai du mal).
De plus, lorsque mon application rajoute, supprime ou modifie une ligne, je pense qu'il est moins lourd de ne renvoyer que les modif' vers la base que toute le dataset...

Je ne sais pas vraiment quelle est la meilleure solution, et sachant que l'application pourrait tourner sur un peu plus de deux postes, je voudrait éviter les rapatriements complets de la table et l'update complète de la table avec le dataset.

Merci beaucoup à vous pour votre aide,

Cordialement,

EvilGost



EvilGost [;)]

jeudi 15 février 2007 à 16:58:04 | Re : DataSet Mis à jour

EvilGost

Membre Club
Pour faire simple, je souhaiterai savoir s'il est possible de ne pas vider le DataSet (Dataset.Clear) et de le reremplir (DataSet.fill), mais plutot de mettre à jour le DataSet des modifications de la table dans la base de données.

EvilGost [;)]

vendredi 20 avril 2007 à 11:52:01 | Re : DataSet Mis à jour

djdiabolik

Réponse acceptée !
Il ne s'agirait pas plutôt là d'un problème de requête de sélection???

Si tu modifies ta requête de sélection en ajoutant une clause WHERE champ_cle_index_dont_tu_es_sur_qu_il_ne_presente_pas_de_doublon_comme_un_numero_interne NOT IN (SELECT champ_cle_index_dont_tu_es_sur_qu_il_ne_presente_pas_de_doublon_comme_un_numero_interne  FROM ta_table_dans_ton_dataset)
Ca devrait fonctionner.

En tout cas c'est comme ça que je fais pour charger ma datatable avec des données nouvellement insérées qui ne sont pas encore présentes dans mon dataset. Cependant, je passe par une table de stockage intermédiaire, puisque le dataset n'existe qu'en mémoire et que j'ai besoin d'utiliser mon application chaque jour avec les données nouvelles de la veille en plus.

A +
------------------------------------------------------------------
Pourquoi faire simple quand on peut faire compliqué?????That is the question

vendredi 20 avril 2007 à 12:08:59 | Re : DataSet Mis à jour

EvilGost

Membre Club
ca m'a l'air d'etre une très bonne idée ca :D
merci à toi

par contre, comment faire une requete pour qu'il lise à la fois la table distant sur le serveur SQL et la table Dataset local?

EvilGost [;)]

vendredi 20 avril 2007 à 12:54:00 | Re : DataSet Mis à jour

djdiabolik

Ben perso je fais en deux temps :
1) j'extraie les nouvelles données réellement ajoutées depuis ma dernière extraction dans ma "table transitoire de stockage" (grâce à la clause WHERE xx NOT IN (yyy)). Cette table est donc la représentation physique de ce que je veux avoir exactement dans mon dataset au moment où j'y charge les enregistrements dans ma datatable.
2) je charge simplement ma table transitoire dans mon dataset. Du coup ma datatable contient tous les enregistrements que je veux traiter. En gros je travaille sur ma table transitoire mais en mode déconnecté.

A+
-----------------------------------------------------
Pourquoi faire simple quand on peut faire compliqué?????That is the question

vendredi 20 avril 2007 à 12:56:01 | Re : DataSet Mis à jour

djdiabolik

pour répondre à ta question, je ne sais pas s'il est possible de faire une jointure ou une clause NOT IN entre une table réelle et une table de dataset. C4est pour ça que je passe pas une table transitoire de stockage des enregistrements à charger en mémoire dans le DS.

-------------------------------------------
Pourquoi faire simple quand on peut faire compliqué?????That is the question

vendredi 20 avril 2007 à 14:18:23 | Re : DataSet Mis à jour

EvilGost

Membre Club
impec, c'est pas bete comme idée :)
merci beaucoup pour tes réponses rapides

EvilGost [;)]



Cette discussion est classé dans : base, table, lignes, dataset, jour


Répondre à ce message

Sujets en rapport avec ce message

Mise à jour table [ par globule ] Bonjour, Comment remplacer une table dans une base access à partir d'une autre table d'une autre base.Autres questionsComment connaitre le type d'un c Mise à jour de table [ par globule ] Comment faire pour mettre un numéro de version au différentes tables contenues dans une base Access 2002. (sans rajouter un champ qui serait répété au vbaccess et comparaison de requetes [ par deubal ] slt tout le mondeje suis dans vbaccess. lors de l'ouverture de ma base de donnees je souhaite mettre a jour une table avec des infos modifiées dans un DataSet - DataGrid [ par djcool74 ] Bonjour à Tous Je suis en train de réaliser une application qui accède a une Base de Données Access. J'utilise une connection OleDB.Je remplis dans mo Probleme de dataset [ par gougnaf0 ] Tout d'abord bonjour.Je suis en stage de BTS et je bloque depuis qq jours malgré mes recherches sur la msdn de microsoft et les forums.Alors voici mon dataset [ par gougnaf0 ] Bonjour je suis en stage de bts et j'ai developpé ubne appli qui tourne bien. J'arrive a recuperer les données de la base dans mon dataset, a mettre m Mise à jour d'un DataSet et ensuite la Base [ par NETSAGE ] Bonjour a tous et toutes;J'ai des difficultés à réaliser une mise a jour de données à partir d'une Form (Maitre/Details) et un DataSet. Je m'explique. Comment mettre à jour une table importée? [ par tchoukette ] Bonjour,Je suis en train de refaire la base de données d'une entreprise... et je m'y perds complètement!J'ai pensé importer une table d'une autre base Mise à jour de base de données access en vb.net [ par moi411 ] Tout d'abord bonsoir,J'ai donc un problème pour mettre à jour une base de données (créée avec access) ) partir d'un programme VB.NET. J'ai fait la con Mettre à jour le DataSet dans un projet [ par thepchou ] Bonjour,J'ai un petit souci au niveau de la mise à jour du Dataset qui est intégré dans mon projet en passant par les assistants de Visual Studio.Lors


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

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,390 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é.