![]() |
Re: Image in Access Datenbank speichern
BLOB ist BLOB, ob Bitmap, JPEG oder Word-Dokumente, völlig egal. Und was heißt "funktioniert nicht richtig" denn genau? Ich muss allerdings dazu sagen, dass ich eigentlich nie was mit ADO mache.
|
Re: Image in Access Datenbank speichern
Es kommt immer die Fehlermeldung ,,Stream-Lesefehler".
|
Re: Image in Access Datenbank speichern
Dann versuch es mal hiermit:
![]() |
Re: Image in Access Datenbank speichern
Ich habe das Beispiel mal ausprobiert, aber irgendwie bekomme ich es nicht hin. Bekomme folgende Fehlermeldung: Es gibt keine überladene Version von 'Create', die man mit diesen Argumenten aufrufen kann
Delphi-Quellcode:
var
blob: TAdoBlobStream; fs:TFilestream; begin blob := TADOBlobStream.Create(AdoTable1Bild, bmwrite); try blob.Seek(0, soFromBeginning); fs := TFileStream.Create(AdoTable1Bild, fmOpenRead or fmShareDenyWrite); try blob.CopyFrom(fs, fs.Size) finally fs.Free end; finally blob.Free end; |
Re: Image in Access Datenbank speichern
Das liegt daran, dass Du ja keine Datei von der Festplatte lädst, sondern ein Bild aus einem Image haben möchtest. Du musst also den FileStream in einen MemoryStream ändern und das Bild dort hineinladen. Der Rest mit CopyFrom usw. bleibt dann aber gleich.
|
Re: Image in Access Datenbank speichern
Ich habe das jetzt mal geändert aber es kommt immer noch der gleiche Fehler.
Delphi-Quellcode:
var
blob: TAdoBlobStream; fs:TMemorystream; begin AdoTable1.edit; blob := TADOBlobStream.Create(AdoTable1Bild, bmwrite); try blob.Seek(0, soFromBeginning); fs := TMemorystream.create(); try blob.CopyFrom(fs, fs.Size) finally fs.Free end; finally blob.Free end; AdoTable1.post; end; |
Re: Image in Access Datenbank speichern
Kann das sein, dass Du die Streams verwechselt hast? Mal aus dem Kopf (daher keine Garantie):
Delphi-Quellcode:
var
blob: TAdoBlobStream; fs:TMemorystream; begin AdoTable1.edit; blob := TADOBlobStream.Create(AdoTable1Bild, bmwrite); try fs := TMemorystream.create(); ADOImage.Picture.Bitmap.SaveToStream(fs); fs.Seek(0, soFromBeginning); try blob.CopyFrom(fs, fs.Size); AdoTable1.post; finally fs.Free; end; finally blob.Free; end; end; |
Re: Image in Access Datenbank speichern
irgendwie kommt der fehler immernoch. ich habe keine ahnung, an was das liegen könnte.
|
Re: Image in Access Datenbank speichern
In welcher Zeile kommt der Fehler denn?
|
Re: Image in Access Datenbank speichern
jetzt kommt bei mir die Meldung ,,Stream read error". aber ich glaub das liegt jetzt nciht mehr am speichern, sondern an der procedure für das auslesen des bildes.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:52 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