Je souhaiterais enregistrer dans un fichier texte, des informations provenant d'une base de données.
Chaque champ de la table considérée est séparé par des "@", et chaque enregistrement est séparé par des "~".
Comment faire ?
Je souhaiterais enregistrer dans un fichier texte, des informations provenant d'une base de données.
Chaque champ de la table considérée est séparé par des "@", et chaque enregistrement est séparé par des "~".
Comment faire ?
Salut
Tu devrais plutot utiliser un document XML pour se genre de chose...
Les séparateurs sont imposés ou non? Car tu peux toujour sutiliser le format CSV a la limiet. Des composants doivent déja exister..
Bye...
Petrus
Article: le routeur-modem ADSL-WiFi D-Link DSL-G604T (Montavista) et le modem Thomson THG520.
Articles Developpez.com (Java, UML, Linux, etc.)
Blog Developpez.com
Blog Personnel
Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java
tout dépend de ce que tu veux faire de ton fichier ....
si c'est juste pour un export, utilise un format de type CSV ...
si c'est pour quelque chose de plus structuré, effectivement, export plutôt vers du XML.
Je dois tout faire en delphi, les séparateurs sont imposés en effet.
Pas de XML possible
ok mais pour en faire quoi après, de ton fichier texte ?
le stocker ?
y acceder ?
Question déjà abordée, voici une solution pour transformer un dataset en fichier texte :
Pour ton besoin, remplace les writeln(fichier) par write(fichier, '~') et mets la variable séparateur à '@'. De plus, le fichier n'est plus un fichier csv.
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68 var i, n : integer; fichier : TextFile; bm : TBookmark; separateur : string; begin Screen.Cursor := crHourGlass; try separateur := ';'; leDataSet.DisableControls; try // Création du fichier de sortie AssignFile(fichier,'fichierdesortie.csv'); Rewrite(fichier); // ligne d'en-tête n := leDataSet.FieldCount - 1; for i:= 0 to n do begin if (i > 0) then write(fichier,separateur + leDataSet.Fields[i].FieldName) else write(fichier,leDataSet.Fields[i].FieldName); end; writeln(fichier); // Parcours du dataSet with leDataSet do begin if not Active then Open; // on sauvegarde la position bm := leDataSet.GetBookmark; First; while not Eof do begin // ecriture de chaque colonne for i := 0 to n do begin if (i > 0) then write(fichier,separateur + Fields[i].asString) else write(fichier,Fields[i].asString) end; writeln(fichier); Next; end; // while not eof // on restaure la position leDataSet.GotoBookmark(bm); leDataSet.FreeBookmark(bm); end; // with finally CloseFile(fichier); end; finally Screen.Cursor := crDefault; leDataSet.EnableControls; end; end; end;
A+
Bloon
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager