Einzelnen Beitrag anzeigen

verrückter

Registriert seit: 18. Nov 2005
5 Beiträge
 
#1

dBase Datenbank dauerhaft verbinden mit Apollo

  Alt 12. Dez 2005, 09:05
Datenbank: DBase • Version: xx • Zugriff über: Apollo 6.1
hi

schreibe gerade ein Programm welches aus einer XML datei verschiedene ID´s ausließt und diese dann an eine Funktion übergibt, welche eine DB connection herstellt und diese werte dann prüft. Jedoch öffnet er bei jedem funktionsaufruf die DB was bei 5000 zugriffen zuviel ist.
Nun würde ich gerne eine funktion/ procedure schreiben, welche meine DB beim Programmstart öffnen und offen lässt und erst beim beenden wieder schließt. Das ganze soll in delphi mit Apollo realisiert werden und greift auf eine dBase DB zu.
hier ist der Code den ich bissher geschrieben habe. hier wird bei jedem übergebenem Node die DB geöffnet und danach geschlossen.


Delphi-Quellcode:
//Datenbanken testen
procedure TForm1.DBtestID(Node: TdomNode);
var
  Elem: TDomElement;
  id: String;
begin
  if (node.nodeName = 'XX') then begin
  elem:= node.findFirstChildElement;
    while (elem <> nil) do begin
      if (Elem.nodeName = 'unterknoten') then begin
        id:= elem.getAttributeLiteralValue('id');
        id:= RightStr(id,length(id)-6);
        Elem:= elem.findNextSiblingElement;
        TestID(id); //aufruf der proedure TestDB
      end;
    end;
  end;
end;

//Öffnet eine DB und prüft ob ID in DB vorhanden ist und gibt die falsche ID aus
procedure TForm1.TestID(id: String);
var
  test: String;
begin
  ApolloTable1.Active:= false;
  ApolloTable1.Filtered:= False;
  ApolloTable1.Filter:= 'id= ' + queryEncode(id, 16);
  ApolloTable1.Filtered:= True;
  ApolloTable1.Open;
  test:= ApolloTable1.FieldByName('wort').AsString;
  if (test = '') then begin
    Label1.Caption:= 'zu folgenden ID´s existieren keine Einträge';
    ListBox1.Items.Append(id)
    end;
end;
Wäre nett wenn Ihr mir helfen könntet.


VG
Verrückter
  Mit Zitat antworten Zitat