Einzelnen Beitrag anzeigen

Benutzerbild von TRomano
TRomano

Registriert seit: 24. Nov 2004
Ort: Düsseldorf
190 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Locate oder SELECT / Wie Problem lösen?

  Alt 8. Okt 2007, 08:53
Als erstes würde ich entweder verhindern, wenn möglich, dass doppelte Einträge in die Liste kommen (siehe TStringList.Duplicates) oder diese vor dem Insert entfernen.
Um ein Abfragen durch SELECT zu verhindern (Netzwerkverkehr minimieren), kann man in der Firebird-DB einen Unique-Index auf die Insert-Tabelle und das Feld setzen. z.B. mit:
"CREATE UNIQUE ASC INDEX IndexName ON IndexTabelle COMPUTED BY (upper(FeldName))" bei einem VARCHAR-Field
Dieser verhindert dann bei einem Insert doppelte Werte in der Firebird-Tabelle. (Exception durch DB)

Bei einem Multi-User-Betrieb würde ich kein lokales LOCATE benutzen, da Du ja nur eine zum Zeitpunkt des Öffnens eine aktuelle View auf diese Tabelle hast und in der Zwischenzeit eventuell schon Einträge auf dem DB-Server geändert wurden (insert/update/delete)
Thomas Forget
  Mit Zitat antworten Zitat