IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Accès aux données Discussion :

[ADO.Net][C# 1.1]Comment réaliser relation pour 2 Dataset ?


Sujet :

Accès aux données

  1. #1
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    105
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Août 2005
    Messages : 105
    Points : 66
    Points
    66
    Par défaut [ADO.Net][C# 1.1]Comment réaliser relation pour 2 Dataset ?
    Bonjour et bonne année,
    Voila. J'ai deux dataset qui viennent de deux bases differentes et
    je voudrais faire une relation entre les deux et
    donner un datagrid qui va fusionner les données.
    Je m'explique:
    dataset1 = item1,item2,item3
    dataset2 = item4,item5
    item3 = item4
    datagrid = item1,item2,item3,item5
    Pourrait-ce faire avec la méthode dataset.relation?
    Si oui, comment et sinon y aurait-il une manière de le faire?
    Merci.

  2. #2
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut Re: [c#][vs2003] Relation entre deux dataset de bases differ
    Citation Envoyé par misa
    ...
    Pourrait-ce faire avec la méthode dataset.relation?
    : : :
    Cette méthode n'existe pas à ma connaissance; par contre un DataSet détient une collection de DataRelations, exposée par sa Propriété DataSet.Relations

    Il faut tout d'abord que tu détermines ce que tu veux afficher precisement, la DataRelation ne pourra être créé qu'à partir de 2 DataTables ayant au moins un champs strictement commun.
    Ne serait-il pas preferable de manipuler qu'un seul DataSet contenant tout le jeu de données necessaires sur les 2 BDD ?
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  3. #3
    Membre du Club
    Inscrit en
    Août 2005
    Messages
    105
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Août 2005
    Messages : 105
    Points : 66
    Points
    66
    Par défaut
    Finalement, j'ai pas utilisé DataRelation. J'ai opté pour cette solution-ci, y a peut-etre une solution plus facile mais je vois pas...jusque la il n'y a pas encore de bug, alors je mets resolu.... merci à nequib

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    //get dataset prinipal de sqlserver
    					ds1=rs.getTacheParRessource(b);
    					DataTable table=new DataTable();
    					table=ds1.Tables[0];
    					//ajout de datacolumn pour mettre les données du dataset de oracle
    					DataColumn	myDataColumn = new DataColumn();
    					myDataColumn.DataType = System.Type.GetType("System.String");
    					myDataColumn.ColumnName = "Projet";
    					ds1.Tables[0].Columns.Add(myDataColumn);
    					DataColumn	myDataColumn2 = new DataColumn();
    					myDataColumn2.DataType = System.Type.GetType("System.String");
    					myDataColumn2.ColumnName = "Sous-projet";
    					ds1.Tables[0].Columns.Add(myDataColumn2);
    					DataColumn	myDataColumn3 = new DataColumn();
    					myDataColumn3.DataType = System.Type.GetType("System.String");
    					myDataColumn3.ColumnName = "Etat-tache";
    					ds1.Tables[0].Columns.Add(myDataColumn3);	
    					DataColumn	myDataColumn4 = new DataColumn();
    					myDataColumn4.DataType = System.Type.GetType("System.String");
    					myDataColumn4.ColumnName = "ft-reference";
    					ds1.Tables[0].Columns.Add(myDataColumn4);
     
    					//insertion des valeurs du dataset oracle dans les colonnes
    					for(int i=0;i<ds1.Tables[0].Rows.Count;i++)
    					{
    						try
    						{
     
    							DataSet ds3=new DataSet();
    							int projet;
    							projet=Convert.ToInt32(ds1.Tables[0].Rows[i]["Project"].ToString());
    							ds3=rs.getTacheProjet(projet);
    							DataSet ds4=new DataSet();
    							string nomtache;
    							nomtache=ds1.Tables[0].Rows[i]["Task"].ToString();
    							ds4=rs.getTacheEtat(nomtache); 
    							ds1.Tables[0].RowChanged+=new DataRowChangeEventHandler(t_RowChanged);
    							DataRow myDataRow=ds1.Tables[0].Rows[i];	
    							myDataRow["Sous-projet"] =ds3.Tables[0].Rows[0]["sp_nom"].ToString();
    							myDataRow["Projet"] =ds3.Tables[0].Rows[0]["projet_nom"].ToString();
    							if(ds4.Tables[0].Rows.Count!=0)
    							{
    								try
    								{
    									myDataRow["Etat-tache"] =ds4.Tables[0].Rows[0]["Tache_etat"].ToString();
    									myDataRow["ft-reference"] =ds4.Tables[0].Rows[0]["FT_HDR_REFERENCE"].ToString();
    								}
    								catch(Exception es)
    								{

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [ADO.Net/C# 2.0]Comment coder ObjectDataSource pour Design?
    Par NeoMan dans le forum Accès aux données
    Réponses: 3
    Dernier message: 22/02/2006, 15h04
  2. [ADO.Net][C#/SQL 2005] Comment faire INSERT avec variable ?
    Par hduchemin dans le forum Accès aux données
    Réponses: 1
    Dernier message: 25/01/2006, 17h34
  3. [ADO.Net][C# 1.1] Comment utiliser OracleDataAdapter ?
    Par misa dans le forum Accès aux données
    Réponses: 2
    Dernier message: 25/01/2006, 13h26
  4. [ADO.Net][C# 2.0]Comment récupérer nom colonne PrimaryKey?
    Par superbobo dans le forum Accès aux données
    Réponses: 1
    Dernier message: 18/01/2006, 17h34
  5. Réponses: 17
    Dernier message: 27/09/2005, 12h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo