* 사용환경 : 델파이5 / Windows 98/ oracle7.1.6 / LG-IBM PC
----------------------------------------------------------------------------------
DATABASE1.StartTransaction;
WITH SQLQRY DO
BEGIN
CLOSE;
SQL.CLEAR;
SQL.ADD(' INSERT INTO TABLE1( FIELD1, FIELD2 ) ');
SQL.ADD(' VALUES( :P1, :P2 ) ');
PARAMBYNAME('P1').ASSTRING := EDIT1.TEXT;
PARAMBYNAME('P2').ASFLOAT := 1000000;
Try
ExecSql;
Except
DATABASE1.Rollback;
Application.MessageBox('입력하실 수 없습니다....!', '알림', mb_ok);
exit;
END;
END;
DATABASE1.COMMIT;
----------------------------------------------------------------------------------
위 문장을 실행하면 FIELD2에 이상한 지수값이 들어가 버립니다(꼭 1000000만 해당)
프로젝트가 다끝난 상태에서 발견된 ERROR라서 상당히 당황스럽더군요.
결국 우회로 PARAMBYNAME('P2').ASSTRING := '1000000';(정상실행)
처럼 모든소스를 수정했었습니다.(무지 고생많았습니다.)
제가 궁금한것은 이 문제가 ASFLOAT의 문제인지 아님 어떤 다른 변수 사항이 있는건지
입니다.
평소에 이 사이트에서 많은 것을 얻고 배우고 있습니다.
항상 고맙게 생각합니다.
이런 문제를 한번이라도 접한 분이나 어떤 원인을 알고
계신 분이 계시면 무지한 저에게 가르침을 주십시오.
바쁜와중에도 저의 질문을 읽어주셔서 감사합니다.