Bonjour,
j'ai un petit soucis lorsque j'execute un programme qui permet de generer un fichier excel, j'ai d'une part ma requete sql qui permets de selectionner les champs et d'autres part j'utilise un dataset, dans mon select j'ai que 2 champs à afficher, mais il ne m'en affiche qu'un.
voici mon dataset
et la partie de mon programme
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
50 private static DataSet recherche(string requete, string name, int nbrows) { DataSet ds = new DataSet(name); nbCols = 0; nbRows = 0; try { OracleCommand SqlCmd = new OracleCommand(requete, conn); //Conn.Open(); Reader = SqlCmd.ExecuteReader(); nbCols = Reader.FieldCount; while (Reader.Read()) { nbRows++; } Reader.Dispose(); Reader.Close(); } catch (SqlException ex) { //erreur ........ } // Remplissage du dataset try { OracleCommand SqlCmd = new OracleCommand(requete, conn); //Conn.Open(); OracleDataAdapter dataAdapter = new OracleDataAdapter(); dataAdapter.SelectCommand = SqlCmd; dataAdapter.Fill(ds); SqlCmd.Dispose(); SqlCmd = null; dataAdapter.Dispose(); dataAdapter = null; } catch (SqlException ex) { return null; } return ds; }
dans mon fichier excel genere, j'ai bien toutes mes colonnes mais le numéro d'identification n'apparait pas, je soupçonne un probleme dans le dataset , mais je sais pas trop, sauriez vous m'expliquer d'ou vient le soucis , merci
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 string strrai = "select libelle || ' ' || nomentreprise as noment, numidentification from entreprise t1 " + "inner join table1 ......" + "inner join ......." + "where ........ "; DataSet mondataset = rech(requete, "nom_maTable", nbligne); string nomEntreprise= " "; string identiant = ""; mondataset.Tables[0].Columns.Add("numidentification"); //j'ai rajouté cette ligne sinon j'ai une errreur " ArgumentEception: la colonne identifiant n'appartient pas à la table Table" nomEntreprise= Convert.ToString(mondataset.Tables[0].Rows[0]["NomEnt"]); identiant = Convert.ToString(mondataset.Tables[0].Rows[0]["numidentification"]); //j'ai rajouté cette ligne pour faire pareil qu'au dessus l colonne = 1; FormatColumn(ws, colonne, "@"); ws.Cells[lig, colonne] = nuectr[i]; colonne++; FormatColumn(ws, colonne, "@"); ws.Cells[lig, colonne] = nomEntreprise; colonne++; FormatColumn(ws, colonne, "@"); ws.Cells[lig, colonne] = identiant;
Partager