[ WareWolf @ 25.06.2005. 17:52 ] @
Problem koji moram da rešim za juče:

1. Imam tabelu na SQL serveru sa poljem tipa IMAGE i StoredProceduru sa parametrima npr:
@sifra INT,
@slika IMAGE

Treba uraditi najobičniji INSERT.

2. U Delphi-ju idem preko ADOConnection, ADOCommand, ADOStoredProcedure koje dinamički kreiram u kodu. Sve fino radi kod kreiranja parametara svih mogućih tipova osim (najbitnijeg) reda:

Parameters.CreateParameter('@slika', ftGraphic, pdInput, 16, ... );

Na mestu gde stoje ... probao sam da stavim sve što mi je palo na pamet ali kompajler javlja uporno:

[Error] frmMain.pas(559): Incompatible types: 'OleVariant' and 'TBitmap'
ili već šta ...

Moja ubeđivanja da je "glupo stavljati sliku u bazu, bolje da ih držimo na disku..." nisu urodila plodom pa ...

Kako mi je mozak definitivno stao a u ponedeljak ću da visim na banderi HELP!!!





[Ovu poruku je menjao WareWolf dana 26.06.2005. u 23:19 GMT+1]
[ ivan jeremic @ 27.06.2005. 15:02 ] @
Ja to radim preko DataSet komponente sa AutoEdit na true.
ovo dole je primer sa BDE query komponentom
Code:

    fslika := 'C:\slika.bmp';
    if FileExists(fslika)
    then
    begin
      Image1.Picture := nil;
      Image1.Picture.Bitmap.LoadFromFile(fslika);
      Query1.Open;
      Query1.Edit;
      Query1Slika.Assign(Image1.Picture.Bitmap);
      Query1.Post;
      Query1.ApplyUpdates;
    end;

Nisam imao vremena da to uradim elegantnije ali ovo bi trebalo da radi...
Nadam se da ces barem dobiti neku ideju...