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

Windows Forms Discussion :

[C#] nourrir un dataGrid d'une jointure


Sujet :

Windows Forms

  1. #1
    Membre régulier Avatar de userB
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2005
    Messages
    147
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2005
    Messages : 147
    Points : 106
    Points
    106
    Par défaut [C#] nourrir un dataGrid d'une jointure
    Bonjour bonjour tout le monde, toujours sur la longue et difficile voi de l'apprentissage du C# un tout joli probleme s'offre a moi.

    Comme ennoncé dans le titre je n arrive pas a remplir un datagrid via une requete qui fait une jointure.
    J'ai deja vu que c'etait plutot facile de remplir un datagrid si on voulait afficher une seule table via mon dataTable et qu en suite il me suffisait de faire un :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DataView DV = DS.Tables["MaTable].Defaultview;
    dataGrid1.DataSource = DV;
    Bon, ca c'est bon, mon probleme est que j ai une requete avec enormement de jointure et je ne sais absolument pas comment la faire passer dans mon datagrid
    J'avais cherché du coté du SqlDataAdapter mais je n ai rien trouvé de probant ( ai je mal cherché ? )
    j en suis retourné a mon bon vieux SqlCommand ( une valeur sure.... enfin pas trop en l'occurence) mais toujours rien impossible de le faire passer dans mon dataGrid1.
    Merci d'avance
    Si tu ne sais pas m'expliquer pourquoi ca ne marche pas, alors tu ne sauras pas m'expliquer pourquoi ca marche.. -Un illustre chef de projet-

  2. #2
    Membre éprouvé Avatar de graphicsxp
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    758
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Luxembourg

    Informations forums :
    Inscription : Avril 2004
    Messages : 758
    Points : 1 022
    Points
    1 022
    Par défaut
    Si la requete a des jointures ca n'empeche pas qu'elle retourne toujours un ensemble de donnees, peu importe d'ou les donnees viennent. Et ensuite tu lies ton datagrid a ton dataset tout simplement. Ou alors j'ai rien compris a ton probleme....

  3. #3
    Membre régulier Avatar de userB
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2005
    Messages
    147
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2005
    Messages : 147
    Points : 106
    Points
    106
    Par défaut
    LE probleme est que je n arrive pas a nourrir dataGrid1 depuis MaRequete .
    Pourtant je fais ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SqlDataAdapter DA = new SqlDataAdapter(MaRequete,ConnectionTest);
    				DataSet DS = new DataSet();
    				DA.Fill(DS, "Test");
    				DataView DV = DS.Tables["Test"].DefaultView;
    				dataGrid1.DataSource = DV;


    en message d'erreur je recoit ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    System.Data.SqlClient.SqlException: Le identificateur qui commence par 'SELECT DOS_IDDOS FAM_NOMMERE FAM_PRENOMMERE FAM_NOMPERE FAM_PRENOMPERE DOS_NOM DOS_PRENOM SS_LIBELLE FROM DOSSIER FAMILLE CRECHE' est trop long. La longueur maximale est 128.
       at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream)
       at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior)
       at System.Data.SqlClient.SqlCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior)
       at System.Data.Common.DbDataAdapter.FillFromCommand(Object data, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
       at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
       at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable)
       at FTest1.WRechercheDossier.button1_Click(Object sender, EventArgs e) in c:\dev inc v1\finaltestconnecrequest\ftest1\ftest1\wrecherchedossier.cs:line 464
    Si tu ne sais pas m'expliquer pourquoi ca ne marche pas, alors tu ne sauras pas m'expliquer pourquoi ca marche.. -Un illustre chef de projet-

  4. #4
    Membre éprouvé Avatar de graphicsxp
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    758
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Luxembourg

    Informations forums :
    Inscription : Avril 2004
    Messages : 758
    Points : 1 022
    Points
    1 022
    Par défaut
    C'est bizarre...

    Pourquoi passes tu par une vue ? Tu peux directement associer le datasource de ta grid a ton dataset

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Août 2002
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 83
    Points : 107
    Points
    107
    Par défaut
    bonjour,

    Ce n'est pas au niveau du lien avec le Datagrid que tu as une erreur, mais plus au niveau de ta requete que ton programme n'arrive pas à interprété.
    Il me semble que tu as oublié les virgules dans ta requete pour différencier les champs.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    ..
    SELECT DOS_IDDOS FAM_NOMMERE FAM_PRENOMMERE FAM_NOMPERE FAM_PRENOMPERE DOS_NOM DOS_PRENOM SS_LIBELLE FROM DOSSIER FAMILLE...
     
    =>
     
    SELECT DOS_IDDOS, FAM_NOMMERE, FAM_PRENOMMERE, FAM_NOMPERE FAM_PRENOMPERE, DOS_NOM, DOS_PRENOM ,SS_LIBELLE FROM ...

  6. #6
    Membre éprouvé Avatar de graphicsxp
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    758
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Luxembourg

    Informations forums :
    Inscription : Avril 2004
    Messages : 758
    Points : 1 022
    Points
    1 022
    Par défaut
    Ha oui tiens, j'avais meme pas vu ca

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

Discussions similaires

  1. affichage d'une jointure des trois tables dans un datagrid
    Par saraseh dans le forum Windows Forms
    Réponses: 4
    Dernier message: 30/10/2009, 15h27
  2. [CR9] faire une Jointure externe
    Par coldec dans le forum SAP Crystal Reports
    Réponses: 5
    Dernier message: 28/06/2005, 12h10
  3. probleme d'espace qui fausse une jointure
    Par Nadaa dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 10/08/2004, 11h52
  4. Comment optimiser une jointure ?
    Par seb_asm dans le forum Administration
    Réponses: 21
    Dernier message: 25/06/2004, 16h42
  5. Lignes en double dans le résultat d'une jointure
    Par ledevelopeur dans le forum Bases de données
    Réponses: 4
    Dernier message: 02/06/2004, 18h10

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