Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi csv-datei automatisch in db einlesen (https://www.delphipraxis.net/76580-csv-datei-automatisch-db-einlesen.html)

hgiel 6. Sep 2006 16:02

Datenbank: noch nicht klar, s.u. • Zugriff über: möchte ich aus delphi heraus

csv-datei automatisch in db einlesen
 
hallo,

bin blutiger db-anfänger.

ich möchte ein csv-datei ( feldtrenner ist ein ";" ) in eine datenbank einlesen.

die db (ob paradox oder dbase weiß ich noch nicht - was ist besser?) sollte beim programmstart - falls nicht schon vorhanden - irgendwie automatisch erzeugt werden und dann alle datensätze/feldinhalte der csv-datei einlesen

dies alles wollte ich mit der brandneuen turbo delphi explorer version realsieren - geht das? und kann mir einer einen tip dazu geben?

danke und gruß

hgiel

Jürgen Thomas 6. Sep 2006 16:28

Re: csv-datei automatisch in db einlesen
 
Hallo hgiel,

Zitat:

Zitat von hgiel
ob paradox oder dbase weiß ich noch nicht - was ist besser?

Das kann man pauschal sowieso nicht beantworten - meistens neigt sich die Waage zugunsten von Paradox. Aber beide Systeme sind sehr alt; deshalb kommt es darauf an, wie viele Datensätze es sind, ob der Import einmalig oder mehrfach wiederholt stattfinden soll und was Du danach mit den eingelesenen Daten anfangen willst. Dazu bräuchten wir weitere Angaben.

Zitat:

Zitat von hgiel
die db ... sollte beim programmstart - falls nicht schon vorhanden - irgendwie automatisch erzeugt werden

Das ist faktisch unmöglich (es gibt Situationen und Verfahren, mit denen man es trotzdem regeln kann, aber für einen Anfänger möchte ich darauf zunächst nicht eingehen): In einer CSV-Datei stehen nur die Feldnamen, aber weder Datentyp noch max. Feldlänge - und das sind die Minimalinformationen, die man für das Erzeugen einer Tabelle benötigt.

Zur Prüfung kannst Du (sofern vorhanden) einmal unter Excel den Assistenten durchlaufen lassen: Daten | Externe Daten | Textdatei importieren. Dort siehst Du, welche Varianten zu beachten sind.

Zitat:

Zitat von hgiel
dies alles wollte ich mit der brandneuen turbo delphi explorer version realsieren - geht das?

Ich habe mich bisher nicht mit den Turbo-Versionen beschäftigt, aber ich bin mir sicher, dass Du dazu noch Hilfe bekommst.

Gruß Jürgen

[/edit]Korrektur des Fehlers, auf den Christian Seehase #3 hingewiesen hat.

Christian Seehase 6. Sep 2006 16:40

Re: csv-datei automatisch in db einlesen
 
Moin hgiel,

Zitat:

Zitat von hgiel
dies alles wollte ich mit der brandneuen turbo delphi explorer version realsieren - geht das?

da es sich dabei im Prinzip um eine BDS 4.0 (D2006) Pro handelt, die halt nur eine Sprache unterstützt, sollte das gehen.
AFAIK betreffen die Einschränkungen der Explorer-Version nicht die mitgelieferten Komponenten, und Datenbank-Komponenten sind im BDS 4.0 enthalten.
Du musst nur mit dem vorlieb nehmen, was mit geliefert wird, da man keine Komponenten nachinstallieren kann.

[EDIT]
@Jürgen:
Zitat:

Zitat von Jürgen Thomas
aber ich bin mir nicht sicher, dass Du dazu noch Hilfe bekommst.

Bist Du sicher, dass Du das "nicht" schreiben wolltest? ;-)
[/EDIT]

mkinzler 6. Sep 2006 16:45

Re: csv-datei automatisch in db einlesen
 
Zitat:

ob paradox oder dbase weiß ich noch nicht - was ist besser?
Es ist eher hier der Frage: was ist schlechter?

Jürgen Thomas 6. Sep 2006 16:47

Re: csv-datei automatisch in db einlesen
 
Zitat:

Zitat von Christian Seehase
Bist Du sicher, dass Du das "nicht" schreiben wolltest? ;-)

Schreck lass nach! Da bin ich so stolz auf mich, dass ich selbst Korrektur lese, und dann geht mir so ein Lapsus durch. Natürlich wird das sofort korrigiert - die DP hilft doch fast immer. Jürgen

hoika 6. Sep 2006 17:12

Re: csv-datei automatisch in db einlesen
 
Hallo,

also das Erzeugen geht schon, die Frage ist nur,
was bringt eine DB-Struktur,
die man zur Laufzeit erst kennt,

Man müsste ja dann z.B. "auf Verdacht" Indizes anlegen,
von einer Oberfläche ganz zu schweigen.

Zu Pdx/DBase wurde weiter oben schon alles gesagt (blooooos nicht nehmen;) )

Die Frage ist für mich ist, was steht in der csv,
was soll das Programm damit machen nach dem Einlesen.

Heiko

hgiel 6. Sep 2006 19:36

Re: csv-datei automatisch in db einlesen
 
hallo,

zunächst einmal vielen dank für die antworten/anregungen

eigentlich steht die db-struktur (felder) fest, so daß man die "äußere schale" sicher auch schon vor dem eigentlichen start festziehen könnte:

Anmeldedatum;Anmeldezeit;Dienstnr;Stiftnr;Zugnr;Wa gennr;Produkt;ServerSNR;ServerPNR;SystemNR;TakaSNR _Gastro;TakaPNR_Gastro;TakaSNR_Wartung;TakaPNR_War tung;manuell angemeldet;Abrech ohne Taka;Speisekarte übertragen;Speisekarte erstellt;Problem Kundendisplay;NL Stift;NL Dienst;Copy Fehler;Wagen Beheimatung
31.10.05;07:29;010001;104279150;2083;85940723;IC-BISTR; ;3.50;072;10455695;3.50;10555913;3.50; ; ;J; ; ;Hamburg;Hamburg; ;Hamburg
01.11.05;08:21;010001;104279150;2082;85940723;IC-BISTR;10469441;3.50;072;10455695;3.50; ; ; ; ;J; ; ;Hamburg;Hamburg; ;Hamburg
31.10.05;12:21;010003;104452450;2373;85944063;IC-BISTR;10499627;3.50;906;10455774;3.50; ; ; ; ;J; ; ;Hamburg;Hamburg; ;Hannover
01.11.05;04:39;010003;104452450;2378;85944519;IC-BISTR;10499790;3.50;951;10455774;3.50; ; ; ; ;J;J; ;Hamburg;Hamburg; ;Hannover
...

diese daten entstehen täglich/nächtlich durch ein von mir in delphi geschriebenes auswerteprogramm. bis dato analysiere (sortieren, filtern, abfragen) ich diese datei dann in excel - aber ich würde dies schon ganz gerne in delphi (deshalb der wunsch nach einer db) machen

in der vergangenheit habe ich solche dateien immer "nur" in ein normales stringgrid eingelesen und angezeigt (und bei jeder veränderten selektion die csv-datei wieder komplett neu eingelesen), aber in einer db sind die möglichkeiten sicher deutlich größer und wahrscheinlich auch performanter?!

dies zur veranschaulichung und verdeutlichung meiner motivation

gruß

hgiel

mkinzler 6. Sep 2006 19:41

Re: csv-datei automatisch in db einlesen
 
Es gibt auch CSV-dataSets, welche die CSV als datenbanktabelle anspricht (Z.B. als Teil der JVCL oder kbnmemtable)

hgiel 6. Sep 2006 19:46

Re: csv-datei automatisch in db einlesen
 
JVCL oder kbnmemtable ???????????????????????? noch nie gehört!?

läßt sich dies mit der turbo explorer nutzen?

vielleicht kannst du es auch noch ein wenig ausführlicher erklären?

mkinzler 6. Sep 2006 19:50

Re: csv-datei automatisch in db einlesen
 
Zitat:

läßt sich dies mit der turbo explorer nutzen?
Jein, du mußt die entsprechende Komponente manuell erzeugen, da die Explorer keine Installation von weiteren Komponenten zuläßt.

http://sourceforge.net/project/showf...group_id=45786


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:56 Uhr.
Seite 1 von 2  1 2      

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