AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi XML in Master-Detail Tabelle
Thema durchsuchen
Ansicht
Themen-Optionen

XML in Master-Detail Tabelle

Ein Thema von Computerbabalulu · begonnen am 6. Okt 2004 · letzter Beitrag vom 8. Okt 2004
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Computerbabalulu
Computerbabalulu

Registriert seit: 26. Sep 2003
233 Beiträge
 
#1

XML in Master-Detail Tabelle

  Alt 6. Okt 2004, 18:27
Hallo

Also, ich komme bei folgendem Problem einfach zu keinem Ergebnis:

Ich möchte die Daten aus dem XML File (s. Anhang) in eine MySQL Tabelle bringen.
Dazu habe ich bisher die Info bekommen, das ich das mit einer Master-Detail Tabelle machen muss!
Allerdings habe ich noch nie mit Master-Detail Tabellen gearbeitet. Für die Verbindung nehme ich die ZEOS komponenten.

Kann mir mal jemand genauer erklären wie ich das machen muss?

Aus dem XML File brauche ich folgende Daten:

>>>Alle Daten einer <order-section> entsprechen einem Kundenauftrag!!<<<

Folgende Daten sind für mich wichtig:

Dealer
Envelope
Linecode >> wenn vorhanden
article
qty


Gruß Frank
Frank

Geändert von Computerbabalulu (29. Dez 2011 um 02:34 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Computerbabalulu
Computerbabalulu

Registriert seit: 26. Sep 2003
233 Beiträge
 
#2

Re: XML in Master-Detail Tabelle

  Alt 8. Okt 2004, 00:33
*malnachvorneschiebt*
Frank
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#3

Re: XML in Master-Detail Tabelle

  Alt 8. Okt 2004, 03:12
Da eine XML-Datei nicht mehr ist, als eine simple Textdatei, wäre es eventuell besser, diese auch so zu behandeln. Ich meine jetzt String-Operationen zu verwenden. Wie es aussieht soll das ja wohl eine einmalige Angelegenheit sein, bzw. zumindest eine gleichbleibende.
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von Computerbabalulu
Computerbabalulu

Registriert seit: 26. Sep 2003
233 Beiträge
 
#4

Re: XML in Master-Detail Tabelle

  Alt 8. Okt 2004, 03:21
Hallo Hansa

Erst mal Danke für deine Antwort.

Ja es bleibt eine "gleichbleibende" Angelegenheit. Allerdings nicht einmalig. Es kommen pro Tag ca. 3.000 solcher XML Dateien zusammen die in die DB importiert werden müssen.

Mit String-Operationen kenne ich mich leider nicht aus, da ich noch nicht lange mit Delphi arbeite. Ich wäre für genauere informationen oder Beispiele dankbar...


Gruß Frank
Frank
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#5

Re: XML in Master-Detail Tabelle

  Alt 8. Okt 2004, 03:58
Gleichbleibend ? Aha, das ist schon mal gut. Aber was nun ? Ich erhalte hier jeden Tag emails, die aus einem Text-Teil und einer XML Section bestehen. Der Texteil ist dabei variabel. Deshalb lese ich die Datei, bis die erste XML-Zeile kommt. In dieser Zeile lese ich nun den Anfang. Z.B.:

<dealer>809983</dealer>

Durch die <> weiß ich ja, wo der ist. Und durch den / auch, wo das Ende ist. Sind nun noch die Identifier, wie "dealer" bekannt, dann gehts halt weiter. Den Bezeichner zwischen den <> nehme ich als Name des Datenbankfeldes und füge den mit dem Wert (hier : 809983)in die DB (Interbase) ein. Soweit mein Denkanstoß.

Allerdings muß ich dazu sagen, daß ich weder Zeit noch Lust habe, mich tiefer in XML einzuarbeiten. Wie gesagt : für mich ist das nur ein Text, den ich bearbeiten kann (mit copy, pos usw.). In Delphi gibts bestimmt Komponenten, die die Nodes etc. leichter handhaben können. 8) In meinem Fall ist es aber aufwändiger, sich das Know-How zu beschaffen, als diese Sachen zu Fuß zu machen. Siehst ja selber, wieviel Resonanz bei dem Thema kommt : fast nichts.
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von Computerbabalulu
Computerbabalulu

Registriert seit: 26. Sep 2003
233 Beiträge
 
#6

Re: XML in Master-Detail Tabelle

  Alt 8. Okt 2004, 04:09
Hi Hansa

Zitat:
In meinem Fall ist es aber aufwändiger, sich das Know-How zu beschaffen, als diese Sachen zu Fuß zu machen. Siehst ja selber, wieviel Resonanz bei dem Thema kommt : fast nichts.
Ja, sicher hast du Recht. Ich habs ja auch mit dem XML Parsen bereits hin bekommen. Leider aber nur bei den Hauptknoten. <Dealer> <Envelope> ect. Wenn es tiefer geht, und die Einträge auch noch gesplittet sind <8901>, <8902> ect. weiß ich nicht mehr weiter. Da weiß ich auch nicht wie ich die ganzen Werte der Auftrags/Kundennummer = <Dealer>/<Envelope> zuordnen soll. Und dann noch das Problem mit der Master-Detail Tabelle. Wie bekomme ich die Daten mit diesem zusammenhang da hinein? Ich bin leider noch nicht so fit in Delphi.

Bin echt verzweifelt

Aber ich Danke dir nochmals, das du dich überhaupt mal damit beschäftigt hast

gruß Frank
Frank
  Mit Zitat antworten Zitat
Benutzerbild von Computerbabalulu
Computerbabalulu

Registriert seit: 26. Sep 2003
233 Beiträge
 
#7

Re: XML in Master-Detail Tabelle

  Alt 8. Okt 2004, 07:20
Jetzt habe ich gerade diese FastStrings Kompo gefunden!

Zitat:
Using FastStrings to parse our XML data we were able to cut our processing time down from 5 hours to only 15 seconds
Die sollte schnell genug sein um den XML File mit String-Operationen zu parsen.
Aber weiterhelfen tut mir das nicht. Ich habe keine Ahnung wie das geht


Und dann kommt da noch das Problem mit der MySQL Datenbank. Wie muss die aussehen damit ich die Daten hinein bekomme? Master-Detail?

Gruß
Frank
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#8

Re: XML in Master-Detail Tabelle

  Alt 8. Okt 2004, 08:56
Hallo Computerbabalulu,

Master Detail Verbindung heißt zunächst ja nur, dass du die Daten in (mindestens) zwei Tabellen anordnest. Als Beispiel kannst du dir eine Rechnung vorstellen, die einen Rechnungskopf hat, der für jede Rechnung in einer Tabelle RechKopf gespeichert wird und die Rechnungspositionen, die in einer zweiten Tabelle stehen. Die erste Tabele hat z.B. eine RechnungsID, die in der zweiten Tabelle in jeder Position angegeben wird, so dass die Position eindeutig einem Rechnungskopf zugeordnet werden kann. Im Programm stellst du dann später eine Master - Detail Verbindung her, wobei der Rechnungskopf der Master ist und die Positionen die Details darstellen.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Benutzerbild von Computerbabalulu
Computerbabalulu

Registriert seit: 26. Sep 2003
233 Beiträge
 
#9

Re: XML in Master-Detail Tabelle

  Alt 8. Okt 2004, 09:06
Hi MrSpock

Danke für die Antwort. Ich benutze die Zeos Kompos. Die Tabellen habe ich auch bereits...

Master:

ID
Customer
Envelope

Detail:

ID_Master
Lincode
Article
qty

Ich weiß jezt nur nicht wie ich a.) die Zeos einstellen muss und b.) die Daten aus dem XML File bekomme...

Gruß

Frank
Frank
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#10

Re: XML in Master-Detail Tabelle

  Alt 8. Okt 2004, 13:16
Komplettlösungen sind ja hier zurecht unerwünscht. Da du aber nicht weiter kommst und bevor Du nun demnächst vom Dach springst , habe ich mal in meinem Nähkästchen gesucht :

Delphi-Quellcode:
FUNCTION ErmittleFeldName (st : string) : string;
  VAR i : integer;
      HilfSt : string;
      ende : boolean;
  BEGIN
    ende := false;
    i := 2;
    HilfSt := '';
    WHILE NOT ende DO BEGIN
      HilfSt := HilfSt + st [i];
      i := i + 1;
      ende := st [i] = '>';
    END;
    ErmittleFeldName := HilfSt;
  END;

FUNCTION ErmittleFeldInhalt (st : string) : string;
  VAR i : integer;
      HilfSt : string;
      ende : boolean;
  BEGIN
    ende := false;
    i := 2;
    HilfSt := '';
    WHILE st [i] <> '>DO
      i := i + 1;
    i := i + 1;
    WHILE NOT ende DO BEGIN
      HilfSt := HilfSt + st [i];
      i := i + 1;
      ende := st [i] = '<';
    END;
    ErmittleFeldInhalt := HilfSt;
  END;
So, versuche nun mal zeilenweise die XML-Datei zu lesen und lasse dir in einer Listbox, Memo o.a. den Feldnamen und den Feldinhalt anzuzeigen. Und zwar ohne <>/ usw. Sofern dir dies gelingt ist ca. 80 % der Arbeit zumindest auf der XML-Seite gemacht.
Gruß
Hansa
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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:31 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