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
[50642] DBImage 수정시 사라짐 현상
freeman [builder88] 1328 읽음    2007-09-25 20:31
안녕하세요. 
즐건 한가위 잘 보내셨는지요.

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();
}

+ -

관련 글 리스트
50642 DBImage 수정시 사라짐 현상 freeman 1328 2007/09/25
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.