Moin moin,
also ob es durch meinen Hinweis merklich (bei 30 DS) schneller wird, ist fraglich... aber trotzdem:
Delphi-Quellcode:
function TForm1.WriteSNr: Boolean;
var
i: Integer;
begin
try
ADOQuery4.Close;
ADOQuery4.SQL.Text := 'INSERT INTO Tabelle4 (Seriennummer) ' +
'VALUES (:PSeriennummer)';
ADOQuery4.Prepared := True;
for i := 0 to ListBox1.Count - 1 do begin
ADOQuery4.Parameters.ParamByName('PSeriennummer').Value := ListBox1.Items.Strings[i];
ADOQuery4.ExecSQL;
end;
Result := True;
except
Result := False;
end;
end;
1. Die Datenmenge muss bei ExecSQL nicht immer wieder geschlossen werden, da keine geöffnet wird...
2. Das
SQL Statement muss nicht bei jedem Durchlauf der Schleife neu gesetzt werden...
3. Prepared auf True setzen (Ob das bei
Access auch was nützt??? ... hab keine Ahnung)
4. Result kann nach der Schleife gesetzt werden, da ja im Fehlerfall eh False
PS: Punkt 4 bringt dir bestimmt die erhoffte Geschwindigkeit