Hallo zusammen,
bei mir tritt ein seltsames Verhalten auf, wenn ich ein
DB in einem Thread aktualisiere. So lange es String- oder Datumsfelder sind passiert nichts, aber wenn ich JPEG´s von der Platte lade ist die Connection weg (Fehler 10053 Socket error) ...
Ich habe die Connection und die
Query im Thread etwas weiter vorn in der Execute-Method erzeugt. Hier ein Auschnitt, der läuft. Kommentiere ich das ...LoadfromFile8fFileName) wieder ein knallt es mit dem Fehler.
Hat einer Idee, was dort schief läuft ?
Delphi-Quellcode:
QueryThread.First;
while (
not QueryThread.Eof)
and (
not Terminated)
do begin
sDateTime := FormatDateTime(cFormatDT,Now);
fFileName := oFldFile.AsString;
if FileExists(fFileName)
then begin
try
QueryThread.Edit;
oFldUser.AsString := fSQLAccount.User;
oFldDate.AsDateTime := Now;
// oFldBlob.LoadFromFile(fFileName);
QueryThread.Post;
inc(fThreadData.PictureOkay);
except
on E:
Exception do begin
inc(fThreadData.PictureFailed);
fThreadData.Messages.Add(Format('
%s - Fehler beim Schreiben der Tabelle "Pictures": %s',[sDateTime,E.
Message]));
end;
end;
end
else begin
inc(fThreadData.PictureFailed);
fThreadData.Messages.Add(Format('
%s - Bilddatei nicht vorhanden: %s',[sDateTime,fFileName]));
end;
QueryThread.Next;
inc(fThreadData.Counter);
if (fThreadData.Counter
mod 10 = 0)
then Synchronize(UpdateProgress);
end;
Gruß Tom