CSV-Datei einlesen / Daten suchen

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.

CSV-Datei einlesen / Daten suchen

Beitragvon Latze » 5. Feb 2010, 11:13 CSV-Datei einlesen / Daten suchen

Hallo,

ich hab hier eine Datei, die diverse Informationen zu Orten enthält. Es sind eben mehrere Zeilen mit den einzelnen Werten (durch Tabulator getrennt), in der ersten Zeile sind die Feldnamen. Diese Datei lese ich mit Hilfe von SdfDataSet und Datasource ein und stelle sie in einem DBGrid dar, wobei die Feldnamen auch als Datensatz angezeigt werden.

Ich kriege soweit alles (halbwegs) hin nur die Suche nach einem Datensatz bereitet mir Kopfzerbrechen, kann mir jemand helfen?


Gruß
Latze
Latze
 
Beiträge: 48
Registriert: 4. Jul 2009, 08:11
OS, Lazarus, FPC: XP Pro (L 0.9.28.2 Beta FPC 2.2.4) 
CPU-Target: 32Bit
Nach oben

Beitragvon theo » 5. Feb 2010, 11:46 Re: CSV-Datei einlesen / Daten suchen

theo
 
Beiträge: 3839
Registriert: 11. Sep 2006, 18:01

Beitragvon Latze » 7. Feb 2010, 18:25 Re: CSV-Datei einlesen / Daten suchen

Danke für die Tipps, hat mich leider noch nicht so richtig zum Ziel gebracht.

Gruß
Latze
Latze
 
Beiträge: 48
Registriert: 4. Jul 2009, 08:11
OS, Lazarus, FPC: XP Pro (L 0.9.28.2 Beta FPC 2.2.4) 
CPU-Target: 32Bit
Nach oben

Beitragvon theo » 7. Feb 2010, 20:19 Re: CSV-Datei einlesen / Daten suchen

Latze hat geschrieben:Danke für die Tipps, hat mich leider noch nicht so richtig zum Ziel gebracht.


Warum denn?
Ich habe echt keinen Dunst von der Sache, aber ich hab mal 5 Minuten rumgespielt.

Das funzt bei mir um einen Datensatz zu finden:

Code: Alles auswählen
SdfDataSet1.First;
while not SdfDataSet1.EOF do
begin
if SdfDataSet1.Fields[0].AsString='Bass' then break;
  SdfDataSet1.Next;
end;


Ich habe keine Ahnung, ob es da bessere Wege gibt.
theo
 
Beiträge: 3839
Registriert: 11. Sep 2006, 18:01

Beitragvon khh » 8. Feb 2010, 19:02 Re: CSV-Datei einlesen / Daten suchen

Latze hat geschrieben:Hallo,

ich hab hier eine Datei, die diverse Informationen zu Orten enthält. Es sind eben mehrere Zeilen mit den einzelnen Werten (durch Tabulator getrennt), in der ersten Zeile sind die Feldnamen. Diese Datei lese ich mit Hilfe von SdfDataSet und Datasource ein und stelle sie in einem DBGrid dar, wobei die Feldnamen auch als Datensatz angezeigt werden.

Ich kriege soweit alles (halbwegs) hin nur die Suche nach einem Datensatz bereitet mir Kopfzerbrechen, kann mir jemand helfen?


Gruß
Latze


vieleicht ist es ja mit Kanonen auf Spatzen geschossen,
aber so was schreit doch nach einer DB
khh
 
Beiträge: 371
Registriert: 5. Apr 2008, 08:37
Wohnort: Nähe Freiburg i.Br.
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z) 
CPU-Target: xxBit
Nach oben

Beitragvon Latze » 10. Feb 2010, 07:46 Re: CSV-Datei einlesen / Daten suchen

Hallo
theo hat geschrieben:
Code: Alles auswählen
SdfDataSet1.First;
while not SdfDataSet1.EOF do
begin
if SdfDataSet1.Fields[0].AsString='Bass' then break;
  SdfDataSet1.Next;
end;


Mist, funktioniert hier auch einwandfrei. Keine Ahnung, was ich da wieder verwurschtelt hab. War wohl einer der Tage, wo man am besten wieder ins Bett gehen und nichts anfassen sollte um keinen Schaden anzurichten. :roll: Danke für den Schubs in die richtige Richtung.
theo hat geschrieben:Ich habe keine Ahnung, ob es da bessere Wege gibt.

Na ja, etwas schneller wäre nicht schlecht aber es funktioniert und darauf kommt es an. 5,2MB werden in 18 Sekunden durchsucht.
khh hat geschrieben:vieleicht ist es ja mit Kanonen auf Spatzen geschossen,
aber so was schreit doch nach einer DB

Am liebsten packe ich sowas in meinen SQL-Server aber die Anwendung soll auch ohne auskommen, damit sie auf 'kleinen' PC's oder auch direkt von einem USB-Stick laufen kann. Das ganze dann auch ohne Internetanbindung.

'verwirrte' Grüße, Latze
Latze
 
Beiträge: 48
Registriert: 4. Jul 2009, 08:11
OS, Lazarus, FPC: XP Pro (L 0.9.28.2 Beta FPC 2.2.4) 
CPU-Target: 32Bit
Nach oben

Beitragvon af0815 » 10. Feb 2010, 22:20 Re: CSV-Datei einlesen / Daten suchen

Latze hat geschrieben:Am liebsten packe ich sowas in meinen SQL-Server aber die Anwendung soll auch ohne auskommen, damit sie auf 'kleinen' PC's oder auch direkt von einem USB-Stick laufen kann. Das ganze dann auch ohne Internetanbindung.


Wenn die Geschwindigkeit zur Notwendigkeit wird, entweder selbst die Daten nach den Kriterien sortieren (Indexlisten, Bäume,...) und optimieren oder auf lokale DB(-Server) umstellen.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
af0815
 
Beiträge: 1597
Registriert: 7. Jan 2007, 10:20
Wohnort: Niederösterreich
OS, Lazarus, FPC: Winux (L 0.9.27 FPC 2.2.x) 
CPU-Target: 32Bit/64Bit ARM
Nach oben

• Themenende •

Zurück zu Datenbanken



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste

accuracy-worried