Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Bild in Datenbank (MSSQL) speichern (muss leider sein) (https://www.delphipraxis.net/13096-bild-datenbank-mssql-speichern-muss-leider-sein.html)

DaWi 10. Dez 2003 21:14


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:
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....
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:

Gruß

Dawi

WooDWorkeR 10. Dez 2003 23:03

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?

DaWi 11. Dez 2003 06:18

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

Bernhard Geyer 11. Dez 2003 07:25

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).

Leuselator 11. Dez 2003 07:44

Re: Bild in Datenbank (MSSQL) speichern (muss leider sein)
 
Prinzip:
Delphi-Quellcode:
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;
Mußt Du Dir ein wenig anpassen...
Gruß

DaWi 11. Dez 2003 09:44

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

DaWi 12. Dez 2003 06:28

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

Leuselator 12. Dez 2003 06:30

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 14:20 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