Q&A

  • 이런황당한경우가 저에게만 있었나요..
* 사용환경 : 델파이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의 문제인지 아님 어떤 다른 변수 사항이 있는건지

입니다.

평소에 이 사이트에서 많은 것을 얻고 배우고 있습니다.

항상 고맙게 생각합니다.

이런 문제를 한번이라도 접한 분이나 어떤 원인을 알고

계신 분이 계시면 무지한 저에게 가르침을 주십시오.

바쁜와중에도 저의 질문을 읽어주셔서 감사합니다.



0  COMMENTS