[ popmilan76 @ 06.06.2018. 23:37 ] @
Kako da ubacim sliku u bazu pomocu adotable?Ja to uradio,kako sam mislio ali mi u bazi to polje pise longa data image,ili tako nesto....Meni treba da je ubacim,samu sliku ili putanju i da je posle vidim u dbgridu ili ako je bas velika,kada kliknem na neko polje da postavim neki image i da se tu prikaze?
[ popmilan76 @ 07.06.2018. 12:22 ] @
Ovako ubacujem sliku,pomocu ovog koda...

ADOTable1.FieldByName('Slika').Assign(Image2.Picture.Graphic);

i access mi prikazuje u toj koloni 'long binary data'...
[ popmilan76 @ 07.06.2018. 13:16 ] @
Uspeo sam to,ali samo sa bitmap slikama,ostale ne moze,da li postoji mogucnost da bira sve vrste slika?
[ savkic @ 07.06.2018. 13:20 ] @
To zavisi od Accessa, mozes li rucno iz Accessa da ubacis istu jpeg sliku koju pokusavas iz programa?
[ popmilan76 @ 07.06.2018. 13:32 ] @
Mislim da nije do Accessa,vec do koda koji koristim,jer ima samo komponentu TBitmap,pa sa njom i radi,da li postoji neka univerzalna za sve formate slika,ili bar za većinu?
[ savkic @ 07.06.2018. 14:36 ] @
Ne kapiram kako samo TBitmap? Delphi moze raditi bez problema sa jpg, tiff, gif slikama, nove verzije i png.
[ popmilan76 @ 07.06.2018. 14:44 ] @
Napravio sam da kada kliknem na dbgrid neki od redova,da mi sliku prikaze posebno na image,zbog velicine slika...a kod sam nasao na netu,ali ako promenim nesto u kodu,onda nece...

var
bmp: TBitMap;
begin
bmp := TBitmap.Create;
try

LoadBitmapFromBlob(bmp, TBlobField(adoquery3.FieldByName('Slika')));
Image2.Picture.Assign(bmp);
// bmp.SaveToFile(dlgopenpic1.FileName);
finally
bmp.Free;
end;


Procedure LoadBitmapFromBlob(Bitmap: TBitmap; Blob: TBlobField);
var
ms, ms2: TMemoryStream;
begin
ms := TMemoryStream.Create;
try
Blob.SaveToStream(ms);
ms.Position := 0;
Bitmap.LoadFromStream(ms);
finally
ms.Free;
end;
end;
[ salvaric @ 08.06.2018. 08:19 ] @
Za slike ti je, što se tiče access baze, u koliko se radi o većoj količini slika, bolje da čuvaš u nekom dir nego u samoj bazi, a putanju samo u bazi, pa je samo prilikom selektovanja u ado komponenti očitaš putanju i otvoriš u TImage komponenti.
[ popmilan76 @ 01.10.2018. 21:54 ] @
Da ne pisem ponovo..Pomocu ovog koda vrsim ubacivanje slika u bazu...

adotable1.Open;
...
ADOTable1.FieldByName('Slika').Assign(dbimage1.Picture.Graphic);
...
..
adotable1.Post;


Pitanje glasi kako da izmenim sliku,posto sva polja su mi dbedit,pa je i dbimage,jer ta tabela ima samo jedan rekord,pokusao sam da stavim umesto insert , edit,sto mi delovalo logicno međutim nista se ne desava...

[ savkic @ 01.10.2018. 23:11 ] @
> Pitanje glasi kako da izmenim sliku,posto sva polja su mi dbedit,pa je i dbimage,jer ta tabela ima samo jedan rekord,pokusao
> sam da stavim umesto insert , edit,sto mi delovalo logicno međutim nista se ne desava...

Sa Edit bi trebalo da radi, npr ovako nesto za string polje:

Table.Open;
Table.First;
Table.Edit;
Table.Fields[0].AsString := 'Izmena';
Table.Post;

Ako ti i dalje ne radi za sliku, pokusaj preko LoadFromStream, pogledaj u helpu primer za TBlobField
[ FranjoZG @ 10.10.2018. 16:37 ] @
Vidim da je tema stara, ali...
zašto koristiš Access a ne recimo FireBird koji je besplatan i Delphi s njim radi izvrsno?

Radio sam to s Firebirdom i nema problema s bilo kojom vrsom slike ili bilo čega.