BAzy danych DBimage

0

Jak zrobic baze w ktorej sa zdjecia?
zrobilem wedlug ksiazki - dziala ok ale ja potrzebuje nie tlyko read only ...
jak do bazy danych - tabeli w delphi dodac zdjecie?
DBimage
jakiej procedury uzyc by zaladowany poprzez DBImage1.Picture.LoadFromFile();
zostal zapisany w bazie ?
z gory dziekuje
pozdr.

0

Jak zrobic baze w ktorej sa zdjecia?
zrobilem wedlug ksiazki - dziala ok ale ja potrzebuje nie tlyko read only ...
jak do bazy danych - tabeli w delphi dodac zdjecie?
DBimage
jakiej procedury uzyc by zaladowany poprzez DBImage1.Picture.LoadFromFile();
zostal zapisany w bazie ?
z gory dziekuje
pozdr.

Zobacz przykład w katalogu Demos\Db\FishFact tam gdzie masz zaistalowane Delphi.

Jak chcesz użyć bmp to napisz
var mem:TMemoryStream;
bit:TBitmap;
begin
if OpenDialog1.Execute then begin
bit:=TBitmap.Create;
mem:=TMemoryStream.Create;

     Table1.Edit;
     bit.LoadFromFile(OpenDialog1.FileName);
     bit.SaveToStream(mem);
     mem.Position:=0;
     Table1Graphic.LoadFromStream(mem);
     Table1.Post;
end;

end;

Jeśli chcesz użyć JPG-ów to napisz
var mem:TMemoryStream;
bit:TBitmap;
jpg:TJPEGImage;
begin
if OpenDialog1.Execute then begin
bit:=TBitmap.Create;
jpg:=TJPEGImage.Create;
mem:=TMemoryStream.Create;

  Table1.Edit;

  jpg.LoadFromFile(OpenDialog1.FileName);
  bit.Assign(jpg);
  bit.SaveToStream(mem);
  mem.Position:=0;

  Table1Graphic.LoadFromStream(mem);
  Table1.Post;
end;

end;

0

oki <ort>wyszsko </ort>wydaje mi sie jasne <ort>prócz </ort>Table1Graphic
skad to sie bierze ?

0

ok , juz dziala po drobnej modyfikacji :-)

 if OpenPictureDialog1.Execute then begin
     Table1.Edit;
     DBImage1.Picture.Bitmap.LoadFromFile(OpenPictureDialog1.Filename);
     Table1.Post;
end;

mam tlyko pytanie jeszcze jedna : jak wyczyscic ta bitmape?
zeby w bazie byla opcja czysc.

0

To już dość proste, użyj kodu
procedure TForm1.WyczyscClick(Sender: TObject);
begin
Table1.Edit;
Table1Graphic.Clear;
Table1.Post;
end;

lub zapisz do bazy pusty TMemoryStream.

Ale jak zrobisz Clear to wartość zapisana w bazie jest null i możesz ewentualnie to sprawdzać poprzez parametr IsNull

0
kalifat napisał(a)

To już dość proste, użyj kodu
procedure TForm1.WyczyscClick(Sender: TObject);
begin
Table1.Edit;
Table1Graphic.Clear;
Table1.Post;
end;

lub zapisz do bazy pusty TMemoryStream.

Ale jak zrobisz Clear to wartość zapisana w bazie jest null i możesz ewentualnie to sprawdzać poprzez parametr IsNull

Cześć,
W moim programie do ładowania plików *.jpg zastosowałem metodę, którą opisał kalifat. Muszę także mieć możliwość ich usuwania z bazy. Próbowałem użyć polecenia Clear:

Table1.Edit;
Table1['Rewers_zd'].Clear;
Table1.Post;

jednak program zwraca mi następujący błąd: Invalid Variant Operation. Jak ten problem można rozwiązać? Jak utworzyć pusty strumień? Będę wdzięczny za odpowiedź. Pozdrawiam Dawid...

0

mam pytanie dlaczego zwraca mi ciagle jpeg error #53 ??

0

Bardzo fajny przykład - chodzi mi o pliki *.jpg
Pytanie w jaki sposób powinienem się dostać do tak zapisanego w bazie pliku *.jpg tak żeby go wyświetlić, może ktoś pomoże skonstruować prosty przykad

1 użytkowników online, w tym zalogowanych: 0, gości: 1