사용환경
운영체제 : 윈7
개발툴 : 델파이7
파이어버드 버전 : 2.1.1.17910
인터베이스 : 6.5
예전에 xp로 사용하다가 win7으로 사용중 numeric 10자리 이상 사용할 때 실제 값이 0인데 '='으로 값이 넘어오는 문제가 있어서
다시 xp로 바꾼후 문제 없이 사용하다가 win7으로 다시 바꿨는데 이런문제가 생기지 않았었습니다.
그런 후 얼마전 윈도7 제품키가 만료되었다는 메세지가 뜬 후 os설정이 약간 씩 바껴서 델파이7을 새로 설치하고 나니 다시 똑같은
문제가 발생합니다.
FIREBIRD DB는 로컬로 사용하고 델파이상에서 접속은 dbExpress 컴포넌트의 SQLConnection 에 gds32.dll 를 통해 연결하고
쿼리는 TSqlQuery 를 통해 불러오고 있습니다.
FieldByName('필드명').asCurrency 로 해서 값을 가져올때 convert에러가 나서 FieldByName('필드명').asCurrency
으로 값을 찍어 보니 ibexpert로 본 실제 값은 '0' 인데 델파이상에서는 '='로 가져오는 겁니다.
그런데 이현상이 numeric 10자리 이상의 필드에서만 일어나는 것 같습니다. 9자리 까지는 정상적으로 불러옵니다.
델파이도 수없이 다시 깔아보고 파이어버드도 재설치 해봐도 해결이 안되네요...
결국에는 os를 새로 깔아야 하는지 새로 깐다고 다시 이런문제가 안생길거라고 보장도 못하고.. 답답하네요..
저와 같은 현상을 겪으신 분 있으면 답변좀 부탁합니다...
그럼 즐거운 하루 되세요~~
|