Вниз
Скачать: CL | DM;

Картинки в БД   Найти похожие ветки 

 
onix   (2004-11-03 09:57) [0]

Здравстуйте мастера !
Никогда не приходилось сохранять картинки в БД. Помогите пожалуйста  советом, как сей фокус проделать с помощью TStoredProc.

Заранее спасибо.


 
vv_fran   (2004-11-03 12:52) [1]

Blob поле делаешь. Подробней в Help


 
onix   (2004-11-03 14:06) [2]

>vv_Fran
Blob поле в таблице есть. Процедура которая должна добавить картинку тоже вроде есть. Проблемма, как передать картинку из программы в хранимую процедуру.
Таблица состоит из 2 полей:
 IMAGE BLOB SUB_TYPE 0 SEGMENT SIZE 800,
 ID INTEGER

Процедура имеет вид:
CREATE PROCEDURE UPDATE_PIC (
 ID INTEGER,
 IMAGE BLOB SUB_TYPE 0 SEGMENT SIZE 80
)  AS  
begin
update pic
set image = :image
where id = :id;
end

А вот какой код на писать в программе, чтоб передать в процедуру? Пробовал так :

procedure TFMain.Image2DblClick(Sender: TObject);
var pic : TBitmap;
begin
try
if OpenPicture.Execute then begin
  pic := TBitmap.Create;
  pic.LoadFromFile(OpenPicture.FileName);
  with DM.SPTemp do begin
   Active:=false;
   StoredProcName:="update_pic";
   Params.Clear;
   Params.CreateParam(ftGraphic,"Image",ptInput).SetData(@pic);
   Params.CreateParam(ftInteger,"id",ptInput).AsInteger := TImage(Sender).Tag;
   ExecProc;
   TransCommit;
  end;
  TImage(Sender).Picture.LoadFromFile(OpenPicture.FileName);}
end;
except
 ShowMessage("Не удачное завершение записи");
end;
pic.Free;
end;
И еще несколько вариантов, но эффект =0



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.025 c
4-1098443115
Rusty
2004-10-22 15:05
2004.12.05
Как отловить потерю фокуса компонентом?


9-1091176852
Kurtevich
2004-07-30 12:40
2004.12.05
back to OpenGL...


14-1100773948
Drakon
2004-11-18 13:32
2004.12.05
Латинские крылатые выражения


9-1090243094
Zak3D[@Tm]
2004-07-19 17:18
2004.12.05
Вопрос по игре Xonix.


6-1096199404
Ezhik
2004-09-26 15:50
2004.12.05
Передача переменной по сети




   Наверх