|
개발 환경은 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"));
음...환장하것네요...
외국의 뉴스그룹도 찾아보고 했는데도 당췌 모르겠네요..
여유있으실때 해결의 실마리가 될만한 단어라도 꼭 알려주세요...
한달동안 이짓만 하고 있네요...헐헐~(그냥 넋두리 임돠..)
읽어 주셔서 감사하구요...행복한 하루되시길 바랍니다..
|