저장 형식은 BLOB타입 을 사용하엿으며
저장 시 에 stream형식을 사용하여 저장 하였습니다.
저장은 잘되는데 이걸 다시 디비그리드 클릭시 image 컴포넌트에 뿌려 줄려고 하는데 잘 안됩니나.
소스 좀 봐주시고 고수님의 조언 바랍니다.
=========== 저장 프로시져 ================================
procedure TFImageSave.Imageinsert;
var
pic : TMemoryStream;
begin
try
pic := TMemoryStream.Create;
Image1.Picture.Graphic.SaveToStream(pic);
pic.Position := 0;
with QImgSave do
begin
Close;
SQL.Clear;
SQL.Add('INSERT INTO TEMP_IMAGE (IMAGE_NAME, IMAGE_TYPE, IMAGE_DATA)');
SQL.Add('VALUES (:N1,:N2,:N3)');
ParamByName('N1').AsString := Edit4.Text;
ParamByName('N2').AsString := Edit5.Text;
ParamByName('N3').LoadFromStream(pic,ftBlob);
ExecSQL;
end;
finally
pic.Free;
end;
end;
============= 호출 프로시져 (??) ============== 이부분이 막힘니다.
procedure TFImageSave.DBGrid1CellClick(Column: TColumn);
var
pic : TMemoryStream; // stream으로 변환해서 보여줘야하는건지 아니면 다른 방법이 잇는건지도 궁금합니다.
begin
try
pic := TMemoryStream.Create;
with QImgSave do
begin
Edit4.Text := Fields[0].AsString;
Edit5.Text := Fields[1].AsString;
// image1.Picture.Graphic.LoadFromStream(QImgSave.FieldByName('IMAGE_DATA')); 여기서 보여줘야 하는데 잘 안됩니다.
// Image1.Picture.Graphic.LoadFromStream(pic);
end;
finally
// pic.free;
end;
end;
======================= 도움 부탁드립니다. =========================
Stream 말고.. assign 이나 value를 사용해보심이..ㅡㅡ;