Hallo,
ich möchte eine Synchronisation zwischen einem Lokalen Server und einem Online Server durchführen(lassen).
Dafür gibt es auch Tools, aber ich wollte das gern selbst gestallten.
So ungefähr sieht mein Code dafür aus:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| ...
ZQuery_artserv.sql.Text:='SELECT artikelname, beschreibung, lagerbestand, artbestnr, dyn_kat, barcode, brutto_preis, sangebot, bild2, bild3, bild4, bild5,'+ 'online, neuheit, lieferbar, explo, online_beschreibung, anzahl_bestellungen,lstatus from artikel where nr = :wert';
repeat meldungen.label1.caption:='Noch '+inttostr(x)+' von '+inttostr(ges)+' Datensätzen werden verglichen...'; Application.ProcessMessages; ZQuery_artserv.parambyname('wert').asinteger:= ZQuery_artclient.fieldbyname('nr').asinteger; ZQuery_artserv.open; if ZQuery_artserv.fieldbyname('artikelname').AsString <> ZQuery_artclient.fieldbyname('artikelname').AsString then begin if not(ZQuery_artclient.state in [dsedit, dsinsert]) then ZQuery_artclient.edit; ZQuery_artclient.fieldbyname('artikelname').AsString:=ZQuery_artserv.fieldbyname('artikelname').AsString; end; ... |
Ich öffnen also erst mit einem Query die Artikeltabelle auf dem Server und mit dem anderen Query die vom Client. Nun gehe ich Datensatz für Datensatz durch und vergleiche/ändere. Das Vergleichen bzw. Ändern geht schnell, aber das Laden des Client-query dauert immer ewig.
Bestimmt handhabe ich das mit dem Parameter/der Übergabe falsch.
könnt ihr mir bitte mal weiter helfen?
Gruß cyberax