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 :

[C# ADO.NET] Nom de colonne introuvable


Sujet :

Accès aux données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de diaboloche
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    592
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2004
    Messages : 592
    Par défaut [C# ADO.NET] Nom de colonne introuvable
    Bonjour,

    J'effectue ceci :
    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
     
    			//-- Requete --//
    			OleDbConnection Connexion = new OleDbConnection(this.Connexion.ConnectionString);		
     
    			string requete = "Select EQ1.Nom as 'EquipeH', "+
    				"EQ2.Nom as 'EquipeA', "+
    				"tbMatchs.NumMatch as 'NumMatch', "+
    				"tbMatchs.Score as 'Score', "+
    				"tbMatchs.[Date] as 'Date' "+
    				"From tbEquipes as EQ1, tbEquipes as EQ2, tbMatchs, tbSaisons "+
    				"Where EQ1.IDEquipe=tbMatchs.IDEquipe1 And EQ2.IDEquipe=tbMatchs.IDEquipe2 And "+
    				"(tbMatchs.IDSaison = tbSaisons.IDSaison And tbSaisons.Creation = true) " +
    				"And NumMatch="+this.listBox1.Text.Substring(0,listBox1.Text.IndexOf(")"));
     
    			OleDbCommand cmd = new OleDbCommand(requete,Connexion);
    			OleDbDataAdapter da = new OleDbDataAdapter(cmd);
    			DataSet ds = new DataSet();
    			da.Fill(ds,"tbMatchs");	
     
    			for(int i=0;i<ds.Tables["tbMatchs"].Columns.Count;i++)MessageBox.Show(ds.Tables["tbMatchs"].Columns[i].ColumnName);
     
    //-- Label --//
    			this.lbSepare.Text=ds.Tables["tbMatchs"].Rows[0]["Score"].ToString();
    			this.lbJournee.Text=ds.Tables["tbMatchs"].Rows[0]["NumMatch"].ToString();
    			this.lbDate.Text=ds.Tables["tbMatchs"].Rows[0]["Date"].ToString();
    Lors de la première affectation d'un string au lebel lbSepare, j'ai une exception me signifiant que le nom de la colonne Score n'existe pas.

    Pourtant j'affiche un peu plus haut l'ensemble des noms de colonnes, et Score est bien présent... et ds.Tables["tbMatchs"].Rows.Count me renvoit bien une ligne...

    Je ne vois pas trop où est mon erreur... si quelqu'un peut m'aider... Merci.

  2. #2
    Membre expérimenté Avatar de DarkMolo
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    207
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Maroc

    Informations forums :
    Inscription : Juillet 2006
    Messages : 207
    Par défaut
    Salut,
    Je crois que j'ai une piste:

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    string requete="SELECT " +
                         "EQ1.Nom as 'EquipeH'" +
                   " FROM " +
                         "tbEquipes";

    L'alias ne doit pas être entouré d'apostrophe mais de crochets([] pour Access, SqlServer...!!) ou de double apostrophe("" pour Oracle...!!), si cet alias ne comporte pas d'espace tu peux carrément le mettre comme ça sans l'englober de quoique ce soit.

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    string requete="SELECT " +
                         "EQ1.Nom as [EquipeH]," +    //ou des crochets
                         "EQ2.Nom as EquipeA" +       //ou rien
                   " FROM " +
                         "tbEquipes";

  3. #3
    Membre éclairé Avatar de diaboloche
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    592
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2004
    Messages : 592
    Par défaut
    Grand merci !
    Ca fonctionne !

    Bonne soirée.

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

Discussions similaires

  1. [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, 18h34
  2. [ADO.Net][VB.NET] Comment ajouter une colonne Integer à un DataTable ?
    Par graphicsxp dans le forum Accès aux données
    Réponses: 2
    Dernier message: 20/04/2005, 13h08
  3. [ADO.NET] Comment rendre une certaine colonne "AutoIncrement" ?
    Par maitrebn dans le forum Accès aux données
    Réponses: 3
    Dernier message: 23/03/2005, 23h12

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