AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Dynamische zuweisung von Spalten

Ein Thema von freak4fun · begonnen am 10. Sep 2014 · letzter Beitrag vom 12. Sep 2014
Antwort Antwort
Benutzerbild von freak4fun
freak4fun

Registriert seit: 22. Sep 2004
Ort: Hannover
1.807 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#1

Dynamische zuweisung von Spalten

  Alt 10. Sep 2014, 10:07
Hallo Leute,

ich habe mehrere CSV-Dateien mit mehreren verschiedenen Spaltenköpfen, die in einer Datenbank gespeichert werden sollen.

Der Anwender meines Programms soll die Spalten der CSV-Dateien verknüpfen können. Zum Beispiel wenn die erste CSV-Daten eine
Spalte "Nachnamen" und die zweite CSV-Datei eine Spalte "Name" hat, das alle Namen als eine Spalte behandelt werden, die dem
Anwender unter einer selbst gewählten Überschrift zum Beispiel "Freunde" angezeigt werden. Wenn eine dritte CSV-Datei keines dieser
Spalten enthält, sollen die anderen Spalten aber dennoch gespeichert werden, so das keine Daten "verloren" gehen.

Mir fehlt der Ansatz, oder eine alternative zu meiner Idee. Über Anregungen würde ich mich sehr freuen.
Christian
IT: Schließen Sie bitte das Fenster. User: Die Tür auch?
i++; // zaehler i um 1 erhoehen
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.191 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Dynamische zuweisung von Spalten

  Alt 10. Sep 2014, 10:11
Aber das "Konvertieren" CSV -> Datenbank ist ein einmaliger Vorgang, oder? Wieviele CSV-Dateien hat der Benutzer denn für gewöhnlich? Ich hätte eine Datei nach der anderen eingelesen und den Benutzer dann gefragt, welche "CSV-Spalte" in welche Tabellenspalte kommen soll.

Oder weißt du im Vorhinein nichts über den CSV-Inhalt und wie deine Tabellen am Schluss aussehen ist anfangs völlig unklar?
  Mit Zitat antworten Zitat
Benutzerbild von freak4fun
freak4fun

Registriert seit: 22. Sep 2004
Ort: Hannover
1.807 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#3

AW: Dynamische zuweisung von Spalten

  Alt 10. Sep 2014, 10:22
Aber das "Konvertieren" CSV -> Datenbank ist ein einmaliger Vorgang, oder?
Ich denke schon. Es gibt mehrere CSV-Dateien vom gleichen Typ, also mit identischen Spaltenköpfen, die importiert werden.

Wieviele CSV-Dateien hat der Benutzer denn für gewöhnlich?
Es ist wahrscheinlich 1 Datei pro Woche, kann aber variieren. Dabei wird aber immer eine CSV-Datei eines Typs verwendet.
Das Problem tritt nur auf, wenn sich das Format ändert.

Ich hätte eine Datei nach der anderen eingelesen und den Benutzer dann gefragt, welche "CSV-Spalte" in welche Tabellenspalte kommen soll.
Bei jeder Datei? Würde es Sinn machen da eine Vorlage draus zu machen?

Oder weißt du im Vorhinein nichts über den CSV-Inhalt und wie deine Tabellen am Schluss aussehen ist anfangs völlig unklar?
Ja, genau das ist der Fall. Ich würde die Spalten auch gern in drei Typen aufteilen: Zeichenkette, Ganzzahl und Dezimalzahl. Aber das ist denke ich erst später dran.
Christian
IT: Schließen Sie bitte das Fenster. User: Die Tür auch?
i++; // zaehler i um 1 erhoehen
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.191 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: Dynamische zuweisung von Spalten

  Alt 10. Sep 2014, 10:28
Also von heute auf morgen kommen ganz anders strukturierte CSV-Dateien rein und das Programm soll darauf vorbereitet sein.

Gehört dazu dann auch eine so weit gehende "Verknüpfung" dass du bislang eine Spalte "Name" bekamst und die CSVs nun in "Nachname" und "Vorname" aufgesplittet sind und das Programm erlauben soll, "Vorname + Nachname" in die bereits existierende DB-Spalte "Name" zu schreiben?

Entweder fehlt es mir an Fantasie, oder das ganze ist nicht trivial. Es sei denn, man stellt die Ursache der sich ändernden CSV-Struktur ab
  Mit Zitat antworten Zitat
Benutzerbild von freak4fun
freak4fun

Registriert seit: 22. Sep 2004
Ort: Hannover
1.807 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#5

AW: Dynamische zuweisung von Spalten

  Alt 10. Sep 2014, 10:40
Also von heute auf morgen kommen ganz anders strukturierte CSV-Dateien rein und das Programm soll darauf vorbereitet sein.
Richtig.
Gehört dazu dann auch eine so weit gehende "Verknüpfung" dass du bislang eine Spalte "Name" bekamst und die CSVs nun in "Nachname" und "Vorname" aufgesplittet sind und das Programm erlauben soll, "Vorname + Nachname" in die bereits existierende DB-Spalte "Name" zu schreiben?
Nein. Eine Spalte ist eine Spalte und kann auch nur mit einer Spalte aus einer anderen CSV-Datei verknüpft werden.
Entweder fehlt es mir an Fantasie, oder das ganze ist nicht trivial.
Das beruhigt mich.
Es sei denn, man stellt die Ursache der sich ändernden CSV-Struktur ab
Darauf habe ich leider keinen Einfluss.
Christian
IT: Schließen Sie bitte das Fenster. User: Die Tür auch?
i++; // zaehler i um 1 erhoehen
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.191 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

AW: Dynamische zuweisung von Spalten

  Alt 10. Sep 2014, 10:49
Was ich nur noch nicht verstanden habe ist, ob es mehr werden. Soll deine Datenbank auf lange Sicht immer mehr Spalten bekommen können?
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 01:49 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz