C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[21572] Re:알려주십시오~~!!!!! (데이타베이스관련)
박지훈.임프 [cbuilder] 867 읽음    2002-09-19 19:51
TImage나 TDbImage의 Picture는 TPicture 타입인데요.
이넘이 기본으로는 JPG를 지원 안하기 때문입니다.

하도 오래되어서 기억이 넘 가물거리는데... (3년 정도 전에 자주 질문받던 내용...)
JPG 이미지는 TJPEGImage 타입으로 캐스팅을 해야 됩니다.

그리고.. '=' 을 써서 집어넣을 수 있는 것이 아니라.. Assign() 함수를 써야 합니다.
대충 기억나는대로 끄적거려보면...
((TJPEGImage *)(Image1->Picture->Graphic))->Assign(jpg);
이렇게 해야 하는 거 같은데...

다음 글도 참고하세요..
http://www.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_qna&no=655

잘 안되시면 다시 질문해주세요.
제가 지금 27시간째 잠을 못자고 있어서 좀 헤롱거립니당...

그럼...



죄악 님이 쓰신 글 :

: 개발 환경은 3-Tier 이고, 빌더6을 사용하고 있습니다.

: 클라이언트 <-> App 서버 <-> DB 서버

: DBMS는 오라클입니다..

: 일단 테이블은 varchar2 컬럼과 long raw 컬럼 두개 입니다..테스트용으로 만들었습니다..

: #include <jpeg.hpp> 했구요..

: 아래와 같이 코드를 작성했습니다...일단 데이타베이스에 들어가는 것 같기는 합니다..

: 그런데 아래의 코드를 실행하면 jpeg error #52 에러가 뜨네요..


: ==========================================================================================

: void __fastcall TForm1::Button2Click(TObject *Sender)    // DB에 저장
: {
:         ClientDataSet1->Params->Items[0]->Value = Edit1->Text;
:         ClientDataSet1->Params->Items[1]->LoadFromFile(Edit2->Text.c_str(),ftBlob);
:         ClientDataSet1->Execute();
:         ClientDataSet1->Close();
:        
:         //어플리케이션 서버에서..
:         //insert into test3(student_num, photo) values(:student_num, :photo);
:
: }
: //---------------------------------------------------------------------------

: void __fastcall TForm1::Button3Click(TObject *Sender)   //DB에서 불러오기
: {
:         ClientDataSet2->Params->Items[0]->Value = Edit1->Text;
:         ClientDataSet2->Open();
:        
:         //어플리케이션 서버에서..
:         //select photo from test3 where student_num = :student_num
:
:         TClientBlobStream *bs;
:         TJPEGImage *jpg;
:         bs = new TClientBlobStream((TBlobField *)(ClientDataSet2->FieldByName("PHOTO")), bmRead);

:         jpg = new TJPEGImage;
:         jpg->LoadFromStream(bs);

:         Image1->Picture->Graphic = jpg;

:
:         delete jpg;
:         delete bs;

:
: }
: //---------------------------------------------------------------------------
:

: ==========================================================================================
:
:

: 그리고 아래와 같이 해보았더니 역시 'Bitmap image not valid'에러가 뜨는 군요..
:
:         ClientDataSet2->Params->Items[0]->Value = Edit1->Text;
:         ClientDataSet2->Open();
:         mage1->Picture->Assign(ClientDataSet2->FieldByName("PHOTO"));
:
: 음...환장하것네요...

: 외국의 뉴스그룹도 찾아보고 했는데도 당췌 모르겠네요..

: 여유있으실때 해결의 실마리가 될만한 단어라도 꼭 알려주세요...

: 한달동안 이짓만 하고 있네요...헐헐~(그냥 넋두리 임돠..)

: 읽어 주셔서 감사하구요...행복한 하루되시길 바랍니다..

+ -

관련 글 리스트
21526 알려주십시오~~!!!!! (데이타베이스관련) 죄악 757 2002/09/18
21572     Re:알려주십시오~~!!!!! (데이타베이스관련) 박지훈.임프 867 2002/09/19
21576         Re:Re:알려주십시오~~!!!!! (데이타베이스관련) 죄악 782 2002/09/20
21612             Re:Re:Re:알려주십시오~~!!!!! (데이타베이스관련) 박지훈.임프 903 2002/09/24
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.