Datenbank: ib • Version: 6 • Zugriff über: sql
Wie aktualisiere ich meine interbase DB?
Hallo,
wie schaffe ich es meine im programm geladene datenbank am schnellsten zu aktualisieren? Es sollen Änderungen übernommen werden, die evtl von anderen Computern im netzwerk erfolgt sind. Also bisher habe ich jede table (oder halt auch TIBQuery) active:=false und active.=True gesetzt. ist aber ganz schon rechenintensiv. gibts da etwas schnelleres? vielen dank. mojo |
Re: Wie aktualisiere ich meine interbase DB?
Es kommt darauf an, was zwischen active := false; und active := true; passiert. Steht da, daß alle Datensätze mit allen Feldern gelesen werden sollen, dann kann das schon dauern.
|
Re: Wie aktualisiere ich meine interbase DB?
ja... aber ich will nicht dass es dauert... :-(
naja.. ich such mal nach einer möglichkeit.. wenn iche ine elgante finde, poste ich sie hier rein |
Re: Wie aktualisiere ich meine interbase DB?
Haallooo. :hi: Das war ein Wink, daß du angeben mußt, was dazwischen steht. Denn sonst kann dir keiner helfen. Bei mir steht manchmal sehr viel dazwischen und es dauert nicht.
|
Re: Wie aktualisiere ich meine interbase DB?
aso. also da sind ein paar calcFelder. die legen im grunde alles lahm.
ist auch noch eine ibTable komponente. kann es nicht (will eher gesagt nich) mit ibquery oder so ersetzen, da ich mich zu sehr in den programmcode anderer einarbeiten muss.. :-( |
Re: Wie aktualisiere ich meine interbase DB?
Ist das mal wieder ein BND-Programm ? 8) :mrgreen: Oder warum zeigst du nicht einen Teil des Codes ?
|
Re: Wie aktualisiere ich meine interbase DB?
ach quatsch... :-) es ist halt nur allgemein gemeint.
hier bissle code aus einer Kundentabelle.
Delphi-Quellcode:
procedure TdmData.ibtKundenCalcFields(DataSet: TDataSet);
var ASameYearDate:TDateTime; AJetzt:TDateTime; begin ASameYearDate:=RecodeYear(ibtKundenKND_GEBOREN.AsDateTime, CurrentYear); AJetzt:=Date; if DaysBetween(ASameYearDate, AJetzt) <= GEB_TAG_DELTA then begin if ASameYearDate >= AJetzt then ibtKundenGEBURTSTAG.AsInteger:=1 else if ASameYearDate < AJetzt then ibtKundenGEBURTSTAG.AsInteger:=0; end else ibtKundenGEBURTSTAG.AsInteger:=-1; if ibtKundenFLM_SUMME.AsInteger > 0 then ibtKundenGENOMMEN.AsBoolean:=True else ibtKundenGENOMMEN.AsBoolean:=False; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:20 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