|
데이터베이스에 필드 타입을 확인해보세요.
아마 데이터베이스의 필드 설정이 unsigned short 으로 되어 있는 모양인데요.
방금 테스트 해보니까 빌더에서는 정상적으로 음수가 표시됩니다.
void __fastcall TForm1::Button3Click(TObject *Sender)
{
long data = -5;
Button3->Caption = " data:" + IntToStr(data);;
}
시윤맘 님이 쓰신 글 :
: 안녕하세요
: 항상 이곳에서 많은 도움을 받아가는 한 개발자입니다.^^
:
: Edit 창에 입력한 데이타를
: long type에 저장을 하고 그 값을 DBGrid와 progres bar에 표시하고 있습니다.
:
:
: 입력받은 데이타는 우선 다음과 같은 처리를 하구요
: String resultvalue = ADOQuery2->FieldByName("DATA")->AsString;
: long data = resultvalue.ToInt();
:
: _PROGRES->Label2->Caption = " data:"+IntToStr(data);
: ADOQuery2->FieldByName("DATA")->AsInteger = data;
:
: 그런데 두개 다 음수를 입력하면
: 예를 들어 (-5) --> hex값으로 치자면 FFFFFFFB가 들어가고 표시는
: 65531로 하네요
:
: long 4바이트 중 2바이트 자르고 unsigned int로 표시하나본데
: -를 제대로 표시하는 방법이 없을까요?
:
: 조언 부탁드립니다.
: 감사합니다. ^^
|