Hallo zusammen,
hat alles super geklappt. Habe jetzt die gesamte Funktion umgebaut und es scheint zu funtionieren. Werde jetzt mal einen Testlauf bis heute Abend machen, und schauen ob es dann noch funktioniert.
Folgende Lösung, habe ich jetzt um neue Einträge in mein VST einzufügen.
Delphi-Quellcode:
procedure TForm1.TreeViewResult(ParserTreeView: TMyBaseParser);
var
Daten : TOMB256PLUS;
begin
QryMB256PLUS.Close;
QryMB256PLUS.SQL.Text := 'INSERT INTO MB256PLUS'+
'("LfdNr", "Datum", "Uhrzeit", "Ereignis", "Teilnehmer", "Bereich")'+
'VALUES(:LfdNr,:Datum,:Uhrzeit,:Ereignis,:Teilnehmer,:Bereich)';
QryMB256PLUS.ParamByName('LfdNr').AsInteger := ParserTreeView.Entries[0].LfdNr;
QryMB256PLUS.ParamByName('Datum').AsString := ParserTreeView.Entries[0].Datum;
QryMB256PLUS.ParamByName('Uhrzeit').AsString := ParserTreeView.Entries[0].Uhrzeit;
QryMB256PLUS.ParamByName('Ereignis').AsString := ParserTreeView.Entries[0].Ereignis;
QryMB256PLUS.ParamByName('Teilnehmer').AsString := ParserTreeView.Entries[0].Teilnehmer;
QryMB256PLUS.ParamByName('Bereich').AsString := ParserTreeView.Entries[0].Bereich;
QryMB256PLUS.ExecSQL;
ConMB256PLUS.Commit;
QRyMB256PLUS.Close;
QryMB256PLUS.SQL.Text := 'Select Max(ID) As ID From MB256PLUS';
QryMB256PLUS.Open;
VST.BeginUpdate;
Daten := TOMB256PLUS.Create;
with Daten do
begin
Daten.ID := QryMB256PLUS.FieldByName('ID').AsInteger;
Daten.LfdNr := ParserTreeView.Entries[0].LfdNr;
Daten.Datum := ParserTreeView.Entries[0].Datum;
Daten.Uhrzeit := ParserTreeView.Entries[0].Uhrzeit;
Daten.Ereignis := ParserTreeView.Entries[0].Ereignis;
Daten.Teilnehmer := ParserTreeView.Entries[0].Teilnehmer;
Daten.Bereich := ParserTreeView.Entries[0].Bereich;
end;
VST.AddChild(nil, Daten);
VST.ScrollIntoView(VST.GetLast, true);
VST.EndUpdate;
QRyMB256PLUS.Close;
DataMB256plus := '';
end;
Ich hoffe das ist so alle OK.
Ich werde aber auch alle anderen Ideen, die genannt wurden nochmal prüfen, um eventuell noch ein bißchen an Performance zu sparen.
Danke schon mal an alle.
PS: Diese antwort gebe ich auch auf den anderen Thread, Damit auch jeder bescheid weis.