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 : Question pour les fous de datasets typés [ Base de données / ADO.NET ] (lkm)

jeudi 25 janvier 2007 à 21:51:04 | Question pour les fous de datasets typés

lkm

Bonjour à tous,

Voici une question pour les fous de datasets.

Tout d'abord, si vous connaissez des liens où je peux trouver des cours avancés sur les datasets typés je suis preneur.

Deuxièmement, j'aimerai avoir la réponse à cette question en espérant que quelqu'un aura réponse à cette question.

Mise en place du problème:
J'ai une BDD (Access ou SQL Server) avec 2 tables dedans, chacune ayant une clé primaire. Il existe une relation entre les deux tables.
Je créé une requête pour avoir des résultats venant des deux tables (SELECT table1.*, table2.* FROM (table1 INNER JOIN table2 ON ....))

Ensuite dans Visual Studio 2005, je créé un dataset typé à partir de ma requête.

Je créé une ligne, je la remplie et je l'ajoute à mon dataset typé.

Ensuite pour valider mon insertion, je fait un update en utilisant la requête et le dataadapter qui va bien.

Voici la question:
Ce que je souhaite savoir, c'est comment cette modification va être impactée dans ma BDD. Est ce que ADO ou la requête va créer automatiquement les enregistrements dans les deux tables, est ce que ça va faire n'importe quoi?

Quelqu'un a-t-il une réponse à cette question?

Merci d'avance

lkm[:)]

vendredi 26 janvier 2007 à 11:05:46 | Re : Question pour les fous de datasets typés

sebmafate

Membre Club Administrateur CodeS-SourceS
un DataSet type n'est rien d'autre qu'une représentation object d'un schéma XML.

Concernant ta seconde question... je ne suis pas pour la jointure de 2 tables de ta BdD dans une seule DataTable de ton DataSet.
Je préfère créer 2 datatables et mettre une relation entre les 2... c'est plus propre.

Sébastien


Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]

vendredi 26 janvier 2007 à 12:32:34 | Re : Question pour les fous de datasets typés

lkm

Sébastien merci pour ta réponse.

Merci également de me rappeler la définition d'un dataset typé, si tu connais des cours avancés sur les datasets (typés ou non) je suis preneur.

Pour ta deuxième réponse, je suis d'accord pour ce que tu dis maisest ce que cela ne signifie pas  que tu dois exécuter la procédure d'insert pour chacune des datatables, que tu dois avoir deux dataAdapter, deux procédures d'insert, d'update, de delete? ça fait beaucoup de choses, d'autant plus que j'ai pris l'exemple de deux tables mais pour ce que je veux faire je vais avoir une BDD  avec une quinzaine de tables.

Cependant je souhaite vraiment savoir quel sera le comportement de mon dataset et de ma BDD dans mon exemple précis.

Merci d'avance

lkm[:)]

vendredi 26 janvier 2007 à 13:16:49 | Re : Question pour les fous de datasets typés

sebmafate

Membre Club Administrateur CodeS-SourceS
dans ton exemple précis... c'est à toi de définir les requêtes d'ajout/suppression/mise à jour. Donc, c'est à toi de déterminer comment ça va se comporter.

quant à des cours sur les dataset... hum, je pense que le mieux est d'essayer de comprendre la documentation présente sur MSDN.


Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]

vendredi 26 janvier 2007 à 14:00:59 | Re : Question pour les fous de datasets typés

lkm

Exuse moi d'insister mais si je fait un insert sur mon dataset qui correspond en fait à ma requête qui fait le INNER JOIN avec les deux tables. Est ce que je peux présumer que les modifications que je vais faire dans mon dataset après l'update vont être répercutés dans les 2 tables de ma BDD?

Dans tous les cas je te remercie pour tes réponses et ta patience.

lkm[:)]


vendredi 26 janvier 2007 à 14:28:36 | Re : Question pour les fous de datasets typés

sebmafate

Membre Club Administrateur CodeS-SourceS
Non... relit ma réponse...

C'est toi qui gère l'ajout, la suppression et la modification... Donc si tu ajoutes une lignes à ta DataTable, tu devras écrire la requête INSERT qui mettra à jour la (ou les) tables concernées.


Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]

samedi 27 janvier 2007 à 20:22:14 | Re : Question pour les fous de datasets typés

lkm

Réponse acceptée !
J'ai pris le temps de faire le test dans un petit projet que je déposerai bientôt sur ce site.
Donc la réponse à ma question est oui!!! Si on fait un update sur un dataset typés qui représente en fait le résultat d'un requête qui fait un INNER JOIN entre deux tables, Access ou SQL Server se charge de faire les INSERT dans chacune des tables.

Démonstration bientôt dans la source que je posterai

lkm[:)]



Cette discussion est classé dans : question, requête, tables, datasets, fous


Répondre à ce message

Sujets en rapport avec ce message

Requête inter Datasets [ par lkm ] Bonjour,J'utilise des DataSets pour faire des copies de ma base de donnée et utiliser mes données en mode non connecté. ie: Je créé un dataset typé qu Jointure entre deux datasets (et non entre deux tables d'un dataset) ? [ par bassory99 ] Bonjour à tous J'aimerais effectuer une liaison entre duex datasets. L'un généré à partir d'une base de données et l'autre à partir d'un webservice ( problème de recuperation de la clé primaire et de conversion . [ par sancho07 ] DataColumn dcmag = dsMag.Tables["magasin"].Columns["magasin_id"];                dsMag.Tables["magasin"].Constraints.Add("PRIMARY", dcmag, true);      noms tables et colonnes mysql [ par neoisback ] Bonjour je vien vers vous car sa fait un bon moment que je cherche et je désespère.Je cherche simplement un moyen assé simple pour récuperer sous form Question TreeView [ par snakzbenjy ] Dans un TreeView j'ai une arborèssance comme çà: Root   | Personne   |      |   |      |Nom1   |      |   |      |Prénom1   |   |Personne   |      | Question sur le evenement [ par Michou69004 ] Bonjour,Voila je ne comprend pas comment fonctionne les evenements.J'aimerais que dans mon programme , a un moment , un compteur soit incrémenter , et quelle requête pour un insert avec un champ int autoIncrémenté? [ par fabian86 ] bonjour,J'ai une table avec 4 champs(int"autoIncrémenté", nvarchar, nvarchar, DateTime)le 2 et 3 ème champ la valeur a insérer est dans un textBox et Vocabulaire [ par LocalStone ] Salut à tous, Je sais pas trop si le forum est le plus adaptée pour ma question, mais je tente quand même ...Lorsqu'il y a plusieurs personnes sur un DataSet [ par esopio ] Bonjour,J'aimerais élaborer un DataSet qui puisse générer un fichier XML de ce type : phrase><font face="Arial" ado.net-sql server [ par verbeyst ] J'ai une question toute simple(j'allais dire bête...). je suis débutant en la matière.J'ai déclaré une classe qui contirnt une méthode permettan de se


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