Q&A

  • 오라클 테이블 blob 필드에 그림을 넣고 싶어요
안녕하세요..^^



오라클과 델파이 공부를 하고 있는 대학생입니다.



연동해서 DBImage에 보이구 저장하려구 하는데 잘 안되는 군요...



여러 곳 에서 질답란을 찾아서 적용을 시켜봐도 ..안되요 -.-



고수님들 좀 도와 주세요..~~~



###################################

#사양

oracle.8.0.5 for linux



delphi.4



###################################

# 주요 코딩

begin

Database1.StartTransaction ;

with Table1 do begin

insert ;

SavePictureDialog1.FileName := FieldByName('VENU_MAP').AsString ;

DBImage1.Picture.SaveToFile(SavePictureDialog1.FileName) ;// <--에러부분

post ;

end ;//with

Database1.Commit ;

end;



###################################

# 에러메시지.



Project project1.exe raised exception cass EDatablaseError with message 'Table1: Field



'VEU_MAP' cannot be modified'. Process stopped. Use step or Ru to continue.





2  COMMENTS
  • Profile
    김태균 1999.08.09 19:02
    안녕하셔요...



    음,,, 위에 답해주신 방법과는 다른건데요...

    이미지 컴포넌트를 하나 놓게되면 메모리에 를 상당히 많이 차지하게되는건

    알고 계실겁니다.

    그래서 다음과 같이 직접 할당하는 방법이 좋을 것 같습니다.





    dbimage1.Picture.LoadFromFile(openpicturedialog1.FileName,ftblob);





  • Profile
    박종성 1999.08.09 18:09
    문경열 께서 말씀하시기를...

    > 안녕하세요..^^

    >

    > 오라클과 델파이 공부를 하고 있는 대학생입니다.

    >

    > 연동해서 DBImage에 보이구 저장하려구 하는데 잘 안되는 군요...

    >

    > 여러 곳 에서 질답란을 찾아서 적용을 시켜봐도 ..안되요 -.-

    >

    > 고수님들 좀 도와 주세요..~~~

    >

    > ###################################

    > #사양

    > oracle.8.0.5 for linux

    >

    > delphi.4

    >

    > ###################################

    > # 주요 코딩

    > begin

    > Database1.StartTransaction ;

    > with Table1 do begin

    > insert ;

    > SavePictureDialog1.FileName := FieldByName('VENU_MAP').AsString ;

    > DBImage1.Picture.SaveToFile(SavePictureDialog1.FileName) ;// <--에러부분

    > post ;

    > end ;//with

    > Database1.Commit ;

    > end;

    >

    > ###################################

    > # 에러메시지.

    >

    > Project project1.exe raised exception cass EDatablaseError with message 'Table1: Field

    >

    > 'VEU_MAP' cannot be modified'. Process stopped. Use step or Ru to continue.

    >

    >



    안녕하세요!

    박종성이라고 합니다.

    DBImage1.Picture.SaveToFile(SavePictureDialog1.FileName) ;// <--에러부분



    DBImage1.Picture := Image1.Picture;// <-이렇게 고치세요

    물론 SavePictureDialog1.FileName을 사용하신다면 윗줄처럼 Image1이라는

    Image 콤포넌트를 사용하여 로드한 후에 사용하면 됩니다. 화면에 보이지 않게

    하려면 Image1.Visible := False로 하면 되겠죠!



    그럼 수고하세요.