crunch02
Messages postés2Date d'inscriptionvendredi 9 février 2007StatutMembreDernière intervention22 mai 2007
-
3 mai 2007 à 11:25
crunch02
Messages postés2Date d'inscriptionvendredi 9 février 2007StatutMembreDernière intervention22 mai 2007
-
3 mai 2007 à 13:43
Bonjour,
Dans le cadre de mon travail, j'ai réalisé un petit programme qui me récupère les données d'une base access et les écrit dans un fichier texte. (Grâce aux sources de ce site. merci aux auteurs)
Mon problème est que les lignes écrites (qui sont dans l'ordre dans la bdd) ne sont pas dans l'ordre dans le fichier texte.
Exemple de fichier texte généré : on voit que la ligne 631 n'est pas à sa place
574 02/01/2007 09:26:42 False
575 02/01/2007 09:26:47 False
631 03/05/2007 00:25:24 True
576 02/01/2007 09:26:53 False
577 02/01/2007 09:26:58 False
Je souhaiterais donc soit avoir une méthode pour que ces lignes soient dans l'ordre ou alors pouvoir trier le fichier texte en fonction de la première colonne. J'ai éssayé plusieurs méthodes ( fonction sort...) mais rien n'y fait.
Voici le code que j'utilise :
OleDbConnection conn = new OleDbConnection(@"provider=Microsoft.Jet.OLEDB.4.0;Data Source="+adresse+"");
OleDbDataAdapter da = new OleDbDataAdapter("SELECT * FROM "+table+"",conn);
DataSet ds = new DataSet("données");
da.Fill(ds, "table");
FileStream fileStream = new System.IO.FileStream(adressefichier,System.IO.FileMode.Create);
StreamWriter sw = new StreamWriter(fileStream);
foreach (DataColumn col in ds.Tables["table"].Columns)
{
sw.Write(col.ColumnName);
sw.Write("\t");
}
sw.Write(sw.NewLine);
foreach(DataRow row in ds.Tables["table"].Rows)
{
int cnt = ds.Tables["table"].Columns.Count;
for(int i = 0; i < cnt; i++)
{
sw.Write(row[i]);
sw.Write("\t");
}
sw.Write(sw.NewLine);
}
sw.Close();
conn.Close();
Je met les données dans un dataset avant de les écrire dans le fichier txt, peut on trier ce dataset ?
Si on ne peut pas, peut on trier le fichier txt et comment ?
crunch02
Messages postés2Date d'inscriptionvendredi 9 février 2007StatutMembreDernière intervention22 mai 2007 3 mai 2007 à 13:43
Merci beacoup _Syl_ c'est exactement ce que je voulais faire et ça fonctionne parfaitement.
Dire que je cherchais compliqué quand on pouvait le faire en moins d'une ligne^^