AGB  ·  Datenschutz  ·  Impressum  







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

Wie erstelle ich IDs

Ein Thema von Morphie · begonnen am 18. Dez 2008 · letzter Beitrag vom 18. Dez 2008
Antwort Antwort
Morphie

Registriert seit: 27. Apr 2008
Ort: Rahden
630 Beiträge
 
#1

Wie erstelle ich IDs

  Alt 18. Dez 2008, 13:35
Hallo liebe DPler!

Ich habe die Aufgabe, ein XML-Dokument zu interpretieren, um den Inhalt anschließend in eine SQL-Datenbank zu schreiben.
Es handelt sich dabei um das GAEB-Format

Dort findet man nun Inhalte wie:
XML-Code:
<BoQBody>
  <Remark ID="DIEKBDBA">
    <Description>...</Desciption>
  </Remark>
  <BoQCtgy ID="DJEJAAAA" RNoPart="1">
    <LblTx>...</LblTx>
    <BoQBody>...</BoQBody>
  </BoQCtgy>
  <BoQCtgy ID="DJEKAAAA" RNoPart="1">
    <LblTx>...</LblTx>
    <BoQBody>...</BoQBody>
  </BoQCtgy>
  <BoQCtgy ID="DJELAAAA" RNoPart="1">
    <LblTx>...</LblTx>
    <BoQBody>...</BoQBody>
  </BoQCtgy>
</BoQBody>
Nun meine Frage: Wie kommt man auf die IDs? Werden die automatisch generiert? Und wenn ja, wie?

Freue mich über eure Antworten.

Morphie
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Wie erstelle ich IDs

  Alt 18. Dez 2008, 13:49
Zuerst einmal welches DBMS? Die automatische Vergabe von Schlüsselwerten wird nämlich nicht gleich gehandelt. Einige DBMS bieten die Möglichkeit Felder direkt dafür zu konfigurieren (autoincrement, counter, ...). Im Standard gibt es dafür Sequenzen.
Markus Kinzler
  Mit Zitat antworten Zitat
Morphie

Registriert seit: 27. Apr 2008
Ort: Rahden
630 Beiträge
 
#3

Re: Wie erstelle ich IDs

  Alt 18. Dez 2008, 14:02
DBMS? Also ich les es in eine JET-Datenbank ein. Aber das hat damit ja nichts zutun, das ist ja von dem XML-Format unabhängig.
Die XML-Daten kommen dann aus verschiedenen Programmen von verschiedenen Unternehmen... Ich muss diese dann halt analysieren und in unser Programm (JET-DB) einlesen.

Dazu verwende ich den Microsoft XML Parser. Den Import habe ich soweit schon fertig, nur brauch ich nun für den Export genau die gleichen Schlüssel, wie die von der Ursprungsdatei, damit die Fremdunternehmen das wieder genau zuordnen können.

Beispiel:
Ich erhalte von Unternehmen XY eine XML-Datei. Darin befinden sich Artikeltexte, Mengen und Einheit.
Ich trage dort nun meine Preise für die einzelnen Artikel ein und muss daraus eine neue XML-Datei generieren. Darin befinden sich dann Mengen und Preise.

Damit Unternehmen XY diese Preise dann wieder den Ursprungsartikeln zuordnen kann, müssen die IDs der beiden Austauschphasen gleich sein.
  Mit Zitat antworten Zitat
Benutzerbild von Xong
Xong

Registriert seit: 9. Jan 2008
186 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Wie erstelle ich IDs

  Alt 18. Dez 2008, 14:07
Zitat von Morphie:
Damit Unternehmen XY diese Preise dann wieder den Ursprungsartikeln zuordnen kann, müssen die IDs der beiden Austauschphasen gleich sein.
Ich versteh dein Problem nicht.
Speichere diese IDs doch einfach mit ab...
  Mit Zitat antworten Zitat
Morphie

Registriert seit: 27. Apr 2008
Ort: Rahden
630 Beiträge
 
#5

Re: Wie erstelle ich IDs

  Alt 18. Dez 2008, 14:18
Wär ne Möglichkeit.
Mich intressierte nun nur, wie diese generiert werden. Denn wenn ich nun selbst so eine Datei herausgeben möchte, damit andere Unternehmen die Preise eintragen (also genau umgekehrt), dann sollte ich ja auch irgendwelche IDs angeben. Da ich aber wirklich alles (jeden Knoten, jedes Attribut,...) selbst anlege und somit die Datei selbst aufbaue, ohne Fremdprogramme oder DBMSs, weiß ich nicht, wie ich solche IDs "errechne".

Denn
DIEKBDBA
DJEJAAAA
DJEKAAAA
DJELAAAA
...

sieht schon ziemlich errechnet aus.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Wie erstelle ich IDs

  Alt 18. Dez 2008, 14:22
Ich versteh es erhlich gesagt auch nicht, du hast die IDs doch schon, dann speichere sie mit ab und trage sie beim Erstellen doch wieder mit in die neue XML ein.

Selbst wenn du rausbekommst wie man diese IDs berechnet, falls sie überhaupt irgendwie berechnet wurden und nicht einfach nur 'ne Art fortlaufende Zählung sind, dann brauchst du sie doch nicht zu berechnen, da sie doch schon vorhanden sind?
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Morphie

Registriert seit: 27. Apr 2008
Ort: Rahden
630 Beiträge
 
#7

Re: Wie erstelle ich IDs

  Alt 18. Dez 2008, 14:34
Also:
Die Ursprungsdatei (Nennt sich D83, bzw. D81) erstellt der Ausschreiber
Die Antwortdatei (Nennt sich D84) erstellt dann ein Handwerker oder ähnliches.

Der Ausschreiber schreibt eben die Mengen, Texte usw. aus.
Der Handwerker antwortet nun mit den dazugehörigen Preisen und Mengen.

Wenn ich nun selbst Ausschreiber sein will, muss ich mir erst mal selbst so eine Datei erstellen. Da habe ich also keine IDs, die ich irgendwie übernehmen könnte... Ich erstell sie ja selbst...
  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 04:50 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