Mit diesem "kleinen" Insert solltest du über eine 100MBit Verbindung mehrere Hundert Datensätze pro Sekunde in die
DB Schieben.
Das Problem liegt sicher woanders.
Hast du schon mal probiert die
DB testweise auf deinen lokalen PC zu legen, um Netzwerk- oder Serverprobleme auszuschließen?
Hängen eventuell irgendwelche datensensitiven Komponenten an einer Datasource die mit deiner ADOQuery4 verbunden ist ? Wenn ja, dann hänge die Datasource ab oder verbaue DisableControls und EnableControls.
z.B. so ...
Delphi-Quellcode:
function TForm1.WriteSNr: Boolean;
var
i: Integer;
begin
try
try
Result := False; // init
ADOQuery4.DisableControls; // <<<<
for i := 0 to ListBox1.Count - 1 do
begin
ADOQuery4.Close;
ADOQuery4.SQL.Text := 'INSERT INTO Tabelle4 (Seriennummer) ' +
'VALUES (:PSeriennummer)';
ADOQuery4.Parameters.ParamByName('PSeriennummer').Value := ListBox1.Items.Strings[i];
ADOQuery4.ExecSQL;
Result := True;
end;
finally
ADOQuery4.EnableControls; // <<<<
end;
except
Result := False;
end;
end;
Wenn beides nicht hilft versuche mal deine
Access DB zu reparieren und zu komprimieren bzw. aktuelle JET Treiber zu installieren.
Sorry,
was Genaueres kann ich dir erstmal nicht anbieten.
0,3 Sek pro Datensatz ist extrem zuviel und deine INSERT Function sieht OK aus.
Schöne Grüße,
Jens