![]() |
Bild in Datenbank (MSSQL) speichern (muss leider sein)
Hallo alle miteinander...
zuerst: frohe Weihnachten und ganz viel Schnee bitte !!!! :angle: Aber jetzt zum Problem: ich würde gerne ein Logo (es handelt sich um lediglich ein einziges JPG) in einer Datenbank speichern (MSSQL). Leider funktioniert das Speichern des JPEGS nicht wenn ich es per FileStream speichern möchte. Wenn ich die schon vorhandenen Beispiele im Forum ausprobiere, funktioniert das bei mir ebenfalls nicht... :wall: Es macht den Anschein, daß es wohl an mir liegt. Aber ich weiß nicht an was.... Hat nicht jemand einen Beispielcode Zuhause rumliegen, den er hier kurz posten könnte ??? Mein Test sah folgendermaßen aus:
Delphi-Quellcode:
Wäre ganz toll, wenn sich jemand erbarmen könnte... such schon ne Weile und bin wohl zu beschränkt die Beispiele auszuführen... :wall:
ich erzeugte ein TFileStream und einen TStream, welche dann durch CopyFrom den Inhalt weitergegeben haben. (Von FileStream auf Stream). In der DB wird aber in dem zugehörigen Blob-Feld nur 3 bis 4 Zeichen eingefügt... keine Ahnung warum....
Gruß Dawi |
Re: Bild in Datenbank (MSSQL) speichern (muss leider sein)
also
warum fuer 1. - in worten EIN - JPG File eine Tabelle erstellen? also ne kannste das nciht irgedn wie in das Programm File einbinden? oder warum MUSS diese einzige Datei in eine DB rein? |
Re: Bild in Datenbank (MSSQL) speichern (muss leider sein)
Es ist so, daß dieses Bild auf alle Reports des Programmes drauf soll und trotzdem noch vom Benutzer selbst angegeben und auch selbst erstellt werden soll. :chat:
Und um nicht gefahr zu laufen, daß dieses Bild dann in irgendeinem wildfremden Pfad liegt und auch durch eine Datenbanksicherung wirklich alles gesichert wird, würde bzw. sollte ich dieses bild dann auch in der DB speichern... :duck: Gruß DaWi |
Re: Bild in Datenbank (MSSQL) speichern (muss leider sein)
Falls das Bild größer ist und die BDE verwendet wird, so muß für den BDE/ODBC-Eintrag der Eintrag "BLOB SIZE" erhöht werden (AFAIK ist der Default-Wert 32, welcher maximal 32 kByte große Dateien fehlerfrei übertragen kann).
|
Re: Bild in Datenbank (MSSQL) speichern (muss leider sein)
Prinzip:
Delphi-Quellcode:
Mußt Du Dir ein wenig anpassen...
procedure SaveBitmapToDb(DasBild : TBitmap, DieQuery : TQuery);
var UnserStream : TMemoryStream; begin // TQuery ausserhalb dieser Procedure vorbereiten // im QueryText muß enthalten sein: "BildFeldName = :Bild" if not DasBild.Empty then begin DieQuery.Prepare; UnserStream := TMemoryStream.Create; try DasBild.SaveToStream(UnserStream); DieQuery.ParamByName('Bild').LoadFromStream(UnserStream,ftBlob); finally UnserStream.Free; end; DieQuery.ExecSQL; end; end; Gruß |
Re: Bild in Datenbank (MSSQL) speichern (muss leider sein)
:dancer2: Ich denke das sieht gut aus... :dancer2:
Ich probiers aus und schreibe dann auch das Ergebnis hier rein... Aber schon mal eines: Ich finde dieses Forum hier hat einfach die Nase ganz ganz weit vorn... ich war schon in vielen beim suchen und auch als User... aber hier fühl ich mich wohl... so schnell werd ich hier nicht mehr gehen *GRINS* :hello: :hello: :hello: :hello: :hello: :hello: :hello: :hello: :hello: Gruß DaWi |
Re: Bild in Datenbank (MSSQL) speichern (muss leider sein)
:( :( :( :( :( :( :( :( :( :( :( :( :( :(
Leider funktioniert das ganze bei SQL2000 - DB's über BDE nicht... Es kommt der Fehler, daß das Prepare nicht ausgeführt werden kann... und daran scheitert dann das ganze schon... Gibts da auch einen Weg das ganze über ein TTable zu erstellen... hab schon nachgeschaut, da gibts keine ReadFromStream - Methode... leider Hat sonst noch jemand eine Idee ??? :gruebel: Gruß DaWi |
Re: Bild in Datenbank (MSSQL) speichern (muss leider sein)
Das muß gehen - zeig mal Deinen Code her...
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:47 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