Bonjour,
J'aimerais savoir comment récupérer le nom de colonne d'une datatable.
Exemple si j'ai la requete suivante
J'aimerai récupéré les valeurs 'AA' et 'BB'.Code:Select AA,BB FROM TABLE
Merci
Version imprimable
Bonjour,
J'aimerais savoir comment récupérer le nom de colonne d'une datatable.
Exemple si j'ai la requete suivante
J'aimerai récupéré les valeurs 'AA' et 'BB'.Code:Select AA,BB FROM TABLE
Merci
Salut Dai.Kaioh,
Lors de la récupération des données dans ton DataTable, il faut à la suite du Fill de ton DataReader faire un FillSchema.
cela permet de récupérer toutes les informations concernant les colonnes de la DataTable.Code:
1
2
3
4 myDatareader.Fill(mydatatable) myDatareader.FillSchema(mydatatable, SchemaType.Mapped)
Pour avoir le nom de la première colonne par exemple :
Code:
1
2
3 mydatatable.Columns.Item(0).ColumnName
Merci pour ton aide
Je n'ai pas la propriété Item dans mon datatable.
Je passe par un dataadapter
Code:
1
2
3
4
5
6
7
8
9
10
11
12 string sChaineConnexion = WebConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString; SqlConnection oConnection = new SqlConnection(sChaineConnexion); oConnection.Open(); SqlCommand oCommande = new SqlCommand("select * FROM VUE"); SqlDataAdapter oDataAdapter = new SqlDataAdapter(oCommande); DataTable oDataTable = new DataTable(); oDataAdapter.Fill(oDataTable);
Au temps pour moi ! il s'agit bien d'un DataAdapter :oops:
Ton code me semble bon, tu devrais pouvoir faire appel à la méthode FillSchema
Par contre tu n'as pas de propriété oDataTable.Columns.item ? Même après le fillschema ?
Tu utilises quelle version du Framework ?
pour reprendre la suit de ton code:
Code:
1
2
3
4
5
6 DataTable oDataTable = new DataTable(); oDataAdapter.Fill(oDataTable); ArrayList al = new ArrayList; Foreach(DataColumn dc in oDataTable.Columns) al.Add(dc.ColumnName);
Merci pour vos réponses !!!
J'ai fais cela et c'est ok
Par contre je n'ai pas la propriété oDataTable.Columns.item et j'utilises le FrameWork 2Code:
1
2
3
4
5 foreach (DataColumn DC in DT.Columns) { Feuille.Cells[1, i] = DC.ColumnName; i = i + 1; }
Je viens de comprendre... je t'ai donné du code VB.NET... Normal que tu ne retrouve pas les mêmes choses ! Je crois qu'il est temps que j'aille me coucher :lol:
Heureusement Zeavan est là ;)