Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Blobfeld beim Kopieren immer leer (https://www.delphipraxis.net/23631-blobfeld-beim-kopieren-immer-leer.html)

lkz633 6. Jun 2004 23:46


Blobfeld beim Kopieren immer leer
 
Hallo,

ich habe folgenden Code zum Kopieren eines BlobFelds in ein anderes. Jedoch ist das Zielfeld immer leer, Code läuft ohne Fehlermeldung durch:
Code:
 
    dm_data.aq_target.Open;
    if not dm_data.aq_source.FieldByName(xyz).IsNull then begin
      try
        dm_data.aq_target.edit;
        blob_source := TAdoBlobStream.Create(dm_data.aq_source.FieldByName(xyz) as db.TBlobField, bmRead);
        blob_target := tadoblobstream.Create(dm_data.aq_target.FieldByName(zyx) as db.TBlobField,bmReadWrite);
        blob_target.Seek(0,soFromBeginning);
        blob_target.CopyFrom(blob_source,blob_source.size);
        dm_data.aq_target.Post;
        dm_data.aq_target.Edit;
        blob_target.Free;
    end;
    dm_data.aq_target.close;
Bin ich mal wieder blind?

Danke und Gruss
lkz633

Sharky 7. Jun 2004 07:40

Re: Blobfeld beim Kopieren immer leer
 
Hai lkz633,

ich kenne mich mit diesen Blob-Feldern nicht aus. Aber kann es daran liegen das Du, bevor Du dein blob_target wieder freigiebst deine Tabelle noch einmal in den Edit-Moduls setzt?

franktron 7. Jun 2004 08:11

Re: Blobfeld beim Kopieren immer leer
 
Ich nutz zwar nicht die Ado Komponeten aber
muss da nich so aussehen


Code:
try
  zd.edit;
  quelle:=QD.CreateBlobStream(QD.FieldByName('blob'),bmRead);
  ziel:=zD.CreateBlobStream(zD.FieldByName('blob'),bmWrite);
  quelle.Positon:=0;//Geht auch mit seek
  ziel.CopyFrom(quelle,quelle.Size);
  zd.post;
finally
  quelle.Free;
  ziel.Free;
End;

lkz633 7. Jun 2004 08:24

Re: Blobfeld beim Kopieren immer leer
 
Eigentlich schon.

Jedoch kann ich source nicht freigeben, da es an einer anderen Stelle das Dataset noch offen ist und ich sonst eine Fehlermeldung erhalte.

Das target.edit;
target.free; habe ich deswegen, da ich ansonsten ohne das edit eine Fehlermeldung erhalte:

Target nicht im Einfüg oder Editiermodus

Gruss lkz633


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:24 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz