AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

DataSet aus CSV füllen

Ein Thema von Graw · begonnen am 1. Feb 2021 · letzter Beitrag vom 2. Feb 2021
Antwort Antwort
Graw

Registriert seit: 26. Apr 2017
77 Beiträge
 
Delphi 11 Alexandria
 
#1

DataSet aus CSV füllen

  Alt 1. Feb 2021, 12:34
Hallo,

ich würde gerne ein DBGrid mit den Daten aus einer CSV füllen.

So wie ich es verstanden habe, muss ich ein DBGrid erstellen mit einer DataSource und dazu ein DataSet.
Das DataSet muss ich dann mit den Daten aus der CSV füllen.
Dazu habe ich eine StringList in der die Daten der CSV geladen wurden.

Doch wie bekomme ich nun die Daten aus der StringList in das DataSet?

Danke.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: DataSet aus CSV füllen

  Alt 1. Feb 2021, 12:40
Es gibt DataSet-Implemnetierungen, welche direkt aus CSV-Dateien laden können.

Z.B. das JvCSVDataSet von JediVCL

https://github.com/project-jedi/jvcl
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.292 Beiträge
 
Delphi 12 Athens
 
#3

AW: DataSet aus CSV füllen

  Alt 1. Feb 2021, 13:52
Hallöle...
Du willst was lernen? Das JvCSVDataSet macht quasi nix anderes. Du willst ja verstehen wie das passiert..oder?

Du brauchst:
1. Grid
2. Datasource - mit Grid verbinden
3. ClientDataset - mit Datasource verbinden
-> Felder definieren (Inhalt der CSV (Header))
4. Open des ClientDatasets
5. CSV lesen (1. TStringList jede Zeile)
6. Jede Zeile lesen (2. Stringlist oder Split etc.)
7. Jeden Wert in das dafür vorgesehende Feld eintragen.
8. ...fertsch

  Mit Zitat antworten Zitat
Graw

Registriert seit: 26. Apr 2017
77 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: DataSet aus CSV füllen

  Alt 2. Feb 2021, 11:05
Hallo,

genau, ich würde die Schritte gerne selber programmieren.
Derzeit ist das Problem das ich eine Fehlermeldung beim Dataset.Open bekomme.

Dataset: Missing data provider or datapacket
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.292 Beiträge
 
Delphi 12 Athens
 
#5

AW: DataSet aus CSV füllen

  Alt 2. Feb 2021, 11:16
Zitat:
Dataset: Missing data provider or datapacket
welches DataSet?
  Mit Zitat antworten Zitat
Graw

Registriert seit: 26. Apr 2017
77 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: DataSet aus CSV füllen

  Alt 2. Feb 2021, 12:19
Als Beispiel habe ich eine Data.csv.

In der habe ich Feld1;Feld2;Feld3; als Header.

1. Grid
2. Datasource - mit Grid verbinden
3. ClientDataset - mit Datasource verbinden

Diese Punkte habe ich fertig.

-> Felder definieren (Inhalt der CSV (Header))
Muss ich hier bei FieldDefs -> Feld1, Feld2, Feld3 eintragen?
Muss bei Field Name Data.csv eingetragen werden?

Meine Fehlermeldung hat sich nämlich geändert zu:
Keine Übereinstimmung im Datenpaket.

Geändert von Graw ( 2. Feb 2021 um 12:29 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.131 Beiträge
 
Delphi 12 Athens
 
#7

AW: DataSet aus CSV füllen

  Alt 2. Feb 2021, 13:02
Für Sowas benötigst du ein Memory-DataSet, also Eines wo man keine Connection anhängen muß.
Der delphi-eigene Typ nennt sich TClientDataSet. (vielleicht/hoffentlich ist im FireDAC inzwischen auch was Besseres versteckt)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: DataSet aus CSV füllen

  Alt 2. Feb 2021, 13:43
Zitat:
Vielleicht/hoffentlich ist im FireDAC inzwischen auch was Besseres versteckt
FDMemTable (FireDac)
oder JVMemoryData (JVCL), TVirtualTable (DevArt als Teil von UniDAC oder DB-spezifischen Zugriffskompos oder in der freien Version), ...
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:45 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz