Einzelnen Beitrag anzeigen

danielA

Registriert seit: 10. Jun 2002
Ort: Hamburg
72 Beiträge
 
Delphi XE7 Enterprise
 
#11
  Alt 19. Mär 2003, 08:26
Hallo nochmal,

Quelltext möchte ich nicht posten, aber eine kurze Übersicht wird denke ich OK sein.

Ich habe ein Stringgrid abgeleitetund einige Eigenschaften wie Tablename, Suchfeld etc. hinzugefügt. diese Komponenete arbeitet nicht mit der Datasource sondern greift auf eine Query zu. Wie man das SQL-Statement daraus formt denke ich ist klar. Nun nach dem abschießen des SQL-Statements werden erstmal nur die ersten 1000 Datensätze in das Grid geladen. Der Rest der Abfragemenge bleibt aber offen. Nun wird ein zweiter Task geöffnet (Gott vergib mir) und der Recordcount in diesem Task bestimmt (dauert bei großen Abfragemengen sonst zu lange). Dieser Task initialisiert mir den Scrollbalken des Grid. Geht der User nun mit dem Corsor langsam nach unten werden bei Datensatz 900 des Grid die nächsten 1000 aus der noch geöffnetten Datenmenge geholt (ca. 1/2 s verzögerung). Wird richtig weit nach unten gescrollt muß geseekt werden (dauert bei 500000 Datensätzen von 1 auf 500000 ca. 10 s ist denke ich noch akzeptabel, wer scrollt auch 500000 Datensätze es gibt ne Suchmaske ? ). Es gibt da noch ne Eigenschaft, die mir ein Eindeutiges Feld angibt (ID), über diese kann ich meine Updates laufen lassen. So, mehr möchte ich darüber leider nicht sagen, nun zu deinem letzten Beitrag.

Mit den Stored Procedures habe ich mich wahrscheinlich falsch ausgedrückt tut mir leid.

Die IBX- Komponenten sind nicht schlecht aber bei dem automatischen Update sehe ich ein Problem. Man stelle sich folgendes Szenario vor.

Frau Schmidt schreibt einen Brief an Mitarbeiter A, in dem sie eine Adressänderung angibt. Mitarbeiter A wird nun also in seinem Kundenprogramm Frau Schmidt aufrufen und die neue Adresse eingeben. Mitarbeiter B bekommt nun zur selben Zeit einen Anruf von Frau Lehmann. Frau Lehmann teilt Mitarbeiter B mit das sie geheiratet hat und früher Schmidt hieß. Mitarbeiter B wird nun den selben Datensatz aufrufen wie Mitarbeiter A, aber nur den Namen ändern. Nun schließt Mitarbeiter A seine Eingabe ab und speichert. Wenn Mitarbeiter B nun seine Transaktion abschließt wird die Adresse von Frau Lehmann aber wieder zurückgeändert, da alle Felder neu geschrieben werden nicht nur Ihr Name. das so ein Fall geschieht ist zwar sehr unwahrscheinlich aber muß meines erachtens mit einkalkuliert werden.

Grüße danielA
  Mit Zitat antworten Zitat