|
안녕하세요.
즐건 한가위 잘 보내셨는지요.
DB는 불새 2.0을 사용합니다.
데이타 입력시 이미지(BMP)화일은 아래와 같은 방법으로
입력이 잘 됩니다.
DBImage1->Picture->LoadFromFile(화일명);
근데 문제는 수정시 입니다.
성명,전번 주소,이미지 와 같은 필드가 4개 있는데
수정시
ClientDataSet1->Edit(); 를 하고
성명만 수정하고 기존의 데이타는 수정 안하고
ClientDataSet1->Post();
ClientDataSet1->ApplyUpdates(1)
ClientDataSet1->Refresh();
하면 이미지 필드만 내용이 삭제되고 나머지
필드는 수정된 채로 나타 납니다.
근데
수정시
ClientDataSet1->Edit(); 를 하고
이미지 필드만 수정하하고 아래와 같이 저장하면 갱신이 됩니다.
ClientDataSet1->Post();
ClientDataSet1->ApplyUpdates(1)
ClientDataSet1->Refresh();
수정시 다른 필드를 수정하고, 이미지는 기존 것을 전혀 수정하지않고
저장을 하면 항상 다른 필드는 수정된 것으로 갱신되고
이미지 삭제되어 저장됩니다.
이것을 해결하기 위해서 아래와 같은 방법으로
수정하기 전에 미리 Image1->Picture = DBImage1->Picture;
같이 이미지를 옮겨 놓고, 저장시에는
DBImage1->Picture = Image1->Picture;
이렇게 했는데 안됩니다.
어찌 하면 됩니까 ?????
부탁 드립니다.< 즐건 한가위 되세요>
void __fastcall TForm1::bMoifyClick(TObject *Sender)
{ //자료 수정
Image1->Picture = DBImage1->Picture;
DMod->ClientDataSet1->Edit();
}
void __fastcall TForm1::Button1Click(TObject *Sender)
{ // 저장시
DBImage1->Picture = Image1->Picture;
DMod->ClientDataSet1->Post();
DMod->ClientDataSet1->ApplyUpdates(1);
DMod->pFIBTransaction1->Commit();
DMod->ClientDataSet1->Refresh();
}
|