Comment passer a next line when reader.read

Bonjour,

mon problème est le suivant: je cherche a ecrire dan un fichier .csv
je developpe une appli web avec visual studio et C#.
j'ai reussi a ecrire dans le fichier mais mon problème c'est que je veux inserer toutes les données de la table. et li code que j'ai fait insert seulement la 1ère donnée et le repète le nombre de liigne que j'ai dans la table au lieu de passer a next line.
je sais pas comment faire pour passer au next line.
voici le code

protected void Button1_Click1(object sender, EventArgs e)
{
string[] lines = new string[10];
String str = "Data Source=ALI-131A155D61B\\SQLEXPRESS;Initial Catalog=BD_huawei;Integrated Security=True; Asynchronous Processing = true";
SqlConnection conn = new SqlConnection(str);
conn.Open();
SqlCommand site = new SqlCommand("select * from sites", conn);
SqlDataReader sdrs = site.ExecuteReader();
if (sdrs.HasRows)
{
while (sdrs.Read())
{
for (int i = 0; i <= sdrs.FieldCount; i++)
{
lines[i] = sdrs[0].ToString();
// sdrs.NextResult();
}
}

System.IO.File.WriteAllLines(@"F:\Documents and Settings\jamila\Bureau\aa.csv", lines);

}
}

merci de m'aider.
Configuration: Windows XP
Firefox 3.0.13

4 réponses

  • Votes
  • Date
  • Date décroissante
  1. bonjour

    ajouter dans le csv \n pour forcer le changement de ligne
    1. j'ai pas de problème a ce stade là(j'ai le retour à la ligne dans csv),mais comment passer à l'autre donnée de ma table et l'afficher,car il boucle sur la première donnée dans la table.
      merci.
      1. j'avais pas tout compris : désolé.

        donc
        le problème ne serait-il pas ici
        for (int i = 0; i <= sdrs.FieldCount; i++)
        {
        lines[i] = sdrs[0].ToString();
        // sdrs.NextResult();
        }

        où vous mettez toujours sdrs[0]
        1. le sdrs[0].ToString(); veut dire que je veux la 1ère colonne de ma table.et je sais pas s'il peut poser de problème ??
          1. oui j'ai loupé le while dans ma lecture
            mettez une trace pour afficher chaque donnée reçue dans ce while