Einzelnen Beitrag anzeigen

Benutzerbild von TRomano
TRomano

Registriert seit: 24. Nov 2004
Ort: Düsseldorf
193 Beiträge
 
Delphi 11 Alexandria
 
#1

Problem: Update in Thread

  Alt 20. Jan 2014, 18:34
Datenbank: MySQL • Version: 5.5 • Zugriff über: UniDAC 5.1.4
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
Thomas Forget
  Mit Zitat antworten Zitat