Bonjour à tous (réédition car le premier message à disparu)
Je me présente Guillaume, étudiant en info - développer. J'ai un projet à faire actuellement, la technologie utilisé est le C# avec le pattern MVC. (J'utilise donc les objets)
J'essaye de faire communiquer deux classe (Entreprise et DataBase => Pour le moment je passerai en pattern une fois débuger).
Ma méthode de classe DataBase me retourne une liste de liste de chaine de caractères.
class.Entreprise.cs
class.DataBase.cs
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 DataBase MesEntreprises = new DataBase("SELECT * FROM PP2_Entreprise");
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 public List<List<string>> select_listeEntreprise() { List<List<string>> data = new List<List<string>>(); OracleConnection conn = new OracleConnection(connexion); //j'instancie une nouvelle conncexion conn.Open(); //j'ouvre la connexion OracleCommand cmd = new OracleCommand(); //j'instancie une commande cmd.Connection = conn;//je lui transmet la connexion cmd.CommandText = RQT; //je lui donne la requette OracleDataReader datareader = cmd.ExecuteReader(); //j'execute la requette int nb = datareader.FieldCount; // le nombre de colone int y = 1; // indice de la ligne // test List<string> Col = new List<string>(); while (datareader.Read()) { int i = 0; // i = indice de la colone while (i != nb) { try { string laData = Convert.ToString(datareader.GetValue(i)); Col.Add(laData); //j'ajoute dans la liste le résultat } catch (Exception e) { //sinon je transmet une erreur MessageErreur MessErrSelect = new MessageErreur("ORA_0001", "Erreur fatale : \n" + e); MessErrSelect.getMessage(); } i++; } data.Add(Col); y++; } return data; }
Mon Problème est que j'ai le nom d'entreprise du premier enregistrement qui se répète sur toutes les autres.
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 foreach (List<string> values in MesEntreprises.select_listeEntreprise()) { string var = values[1]; string var2 = values[2]; Entreprise MonEnrprise = new Entreprise(); MonEnrprise.setID(Convert.ToInt16(values[0])); MonEnrprise.setNom(values[1]); MonEnrprise.setAdresse(values[2]); MonEnrprise.setVille(values[3]); MonEnrprise.setFax(values[4]); MonEnrprise.setType(values[5]); MonEnrprise.setQualifie(values[6]); MonEnrprise.setCommentaire(values[7]); data.Add(MonEnrprise); MonEnrprise = null; } return data; }
A chaque passage dans la boucle var est égale au premier nom d'entreprise.
Information supplémentaires :
Quand je passe le curseur sur MesEntreprises.select_listEntreprise() il marque bien List<List<string>> mais quand je met dans me foreach je ne peux mettre List<string>.
Je pense que c'est mon foreach mon problème (je ne change pas de ligne je reste sur la première).
Avez vous une idée ?
Merci pour vos réponses.
Vous êtes la solutions des problèmes des autres, grâce à vos aides nous débutant nous devenons vous.
Partager