![]() |
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:
Bin ich mal wieder blind?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; Danke und Gruss lkz633 |
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? |
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; |
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 04:49 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz