db: informix
언어: 델파이 5.0 midas active X
"byte in blobdata " type의 컬럼에
이미지를 저장하고 불러오고 싶습니다.
일반 client 프로그램은
똑같은 소스에 param 처리만 다르게 처리했는데
잘~~되는데...
active x에서 만 뭘 잘못했는지...
안되네요...
보시고 꼬~~~꼭 찝에서 한번 봐주세요..
--저장은 에러없이 처리 됩니다.---
그런데 아무래도 널 값이 들어 간것 같아요..
저장된 것을 불러오면
짠짜짠"jpeg error #52"메시지가 뜨걸랑요...응~~~아아앙!
var
JpegImage: TJpegImage;
MS: TMemoryStream;
sa.close;
sa.DataRequest('insert into img(im)
values ( :thphoto1) ');
if thphoto1.Picture.Graphic = nil then begin
sa.params.ParamByName('Thphoto1').Assign(thphoto1.Picture.Bitmap);
end
else begin
JpegImage.Assign(thphoto1.Picture.Graphic);
MS.Position := 0;
JpegImage.SaveToStream(MS);
sa.params.ParamByName('Thphoto1').LoadFromStream(MS, ftBlob);
end;
JpegImage.Destroy;
MS.Destroy;
sa.Execute;
//db->Timage
procedure TN_GJ.SpeedButton1Click(Sender: TObject);
var
BitmapImage: TJPEGImage;
MS: TMemoryStream;
begin
if xx.FieldByName('th_photo1').IsNull then begin
R_thphoto1.Picture.Assign(nil);
end
else begin
BitmapImage := TJPEGImage.Create;
MS := TMemoryStream.Create;
(xx.FieldByName('th_photo1') as TBlobField).SaveToStream(MS);
MS.Position := 0;
BitmapImage.LoadFromStream(MS);
R_thphoto1.Picture.Assign(BitmapImage);
BitmapImage.Destroy;
MS.Destroy;
// ImageMap.Stretch := PanelEdit.Height < ImageMap.Picture.Height;
end;
end;
혹시 이미지를 등록하는데..midas web 서버를 통해서 뭐 작용하는게 있나요??
socket을 이용하는데...혹시 여기에 무슨 처리가 들어가나요.....
답답하고 속상하고...누가 절좀 살려주세요