Einzelnen Beitrag anzeigen

DanXe

Registriert seit: 14. Mai 2015
8 Beiträge
 
Delphi XE7 Professional
 
#1

Daten in SQLite-DB importieren

  Alt 16. Mai 2015, 15:58
Hallo zusammen

ich schreibe in zwei Anwendungen die Daten mit SQlite.dll in Datenbankdateien.
Es handelt sich um eine kleine SQLite3 Datenbank mit einigen Tabellen. Bei einer Anwendung muss ich noch die alten xml-Daten in meine neue DB haben.

Die Datei hat folgende Struktur:
Code:
<?xml version= 1.0 encoding= utf-8?>
<story>
   <Beschreibung>
      <Webseite> www...</Webseite>
      <KundenAnzahl> 32 </Kunden_Anzahl>
   </Beschreibung>
   <Kunde>
      <Daten>
         <KundenNr> 2 </KundenNr>
         <Name> ... </Name>
         <Vorname> ... </Vorname>
         <Beruf> ... </Beruf>
         <GeburtsDatum> ... </GeburtsDatum>
         <Telefon> ... </Telefon>
         <Email> ... </Email>
      </Daten>
      <Lieferdresse>
         <Strasse> ...</Strasse>
         <Plz> ...</Plz>
         <Ort>...</Ort>
         <Land>...</Land>
       </Lieferdresse>
       <Bestellungen>
         <Bestellung>
           <BestID> 9</BestID>
           <Bemerkung> RLL </Bemerkung>
           <BestellDatum> 11.02.2008</BestellDatum>
           <LieferDatum> 13.02.2008</LieferDatum>
           <Anzahl> 1 </Anzahl>
         </Bestellung>
         <Bestellung>
           <BestID> 23 </BestID>
           <Bemerkung> FF DC </Bemerkung>
           <BestellDatum> 23.06.2008</BestellDatum>
           <LieferDatum> 26.06.2008</LieferDatum>
           <Anzahl> 3 </Anzahl>
         </Bestellung>
       </Bestellungen>
       <Artikeln>
         <Artikel>
           <ArtikelID> 23 </ArtikelID>
           <Bezeichnung> Xx.. </Bezeichnung>
           <Preis> 109&#8364; </Preis>
           <Anzahl> 3 </Anzahl>
         </Artikel>
         <Artikel>
         //Viele andere Artikeln
         </Artikel>
       </Artikeln>
     </Kunde>
     //Andere Kunden mit anderen Bestellungen, Artikeln
     </Kunde>
  </story>
Um die Daten zu speichern, habe ich folgende Tabellen erstellt (1-N Beziehung):
Code:
CREATE TABLE Beschreibung (Webseite Varchar(255), Kunden_Anzahl Integer);';

CREATE TABLE Kunden (KundeID INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL UNIQUE, Vorname Varchar(40), Nachname Varchar(40), GeburtsDatum Date, Beruf Varchar(55), Strasse Varchar(55), Plz Integer, Ort Varchar(30), Land Varchar (30), Telefon Varchar(40), Email Varchar(40));';

CREATE TABLE Bestellungen( BestID INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL UNIQUE, Bemerkung Varchar(30), BestellDatum Date, LieferDatum Date, Anzahl Integer, KundeID Integer));';

CREATE TABLE Artikeln (ArtikelID INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL UNIQUE, Bezeichnung Varchar (50), Preis Float, Anzahl Integer, KundeID Integer));';

Ich habe leider bis jetzt nie was mit XML zu tun gehabt. Ich habe bei Wikipedia ein paar Grundlagen zu XML (Schema,Aufbau..) durchgelesen und mich mit diesem Beispielprojekt http://fluuux.de/2012/08/der-umgang-...ien-in-delphi/ beschäftigt.

Ausserdem habe ich mir das hier auch angeschaut. http://www.delphipraxis.net/128090-x...portieren.html
Hier wird SimpleXML (von Jedis) eingesetzt.

Wäre es möglich, die Daten zu importieren, ohne SimpleXML zu benutzen? Wie lese ich die Datei (Werte unter den Nodes) aus.. Ich habe mehrere Tabellen und nicht nur eine. Die Daten müssen nur ein mal in die DB gebracht werden.

Vielleicht kann mir jemand eine Prozedur zeigen.
Ich wäre echt dankbar wenn mir jemand etwas Hilfe geben könnte (da ich nie was mit XML zutun gehabt habe)

.

Geändert von DanXe (16. Mai 2015 um 16:00 Uhr)
  Mit Zitat antworten Zitat