List<List<string>> Parcours impossible ?
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
Code:
1 2
|
DataBase MesEntreprises = new DataBase("SELECT * FROM PP2_Entreprise"); |
class.DataBase.cs
Code:
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;
} |
Code:
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;
} |
Mon Problème est que j'ai le nom d'entreprise du premier enregistrement qui se répète sur toutes les autres.
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.