* 사용환경 : 델파이5 / Windows 98
* 에러 메시지 : Type mismatch for field '필드명'
expecting : float actual : smallint
DB에서는 타입이 NUMBER형인데 델에서 오픈할때 위 에러가 생성됨
이 에러는 쿼리의 필터에디터를 사용할때만 에러가 발생 ?
필터 선언되는 부분은 TFLOATFIELD로 자동 선언 되어집니다..
하지만 값은 smallint형이라서 위 에러가 발생합니다.
소스에서는 값을 변환해주는 부분이 없는 것같은데 내부적으로 값이
자동 선언되어지는 것 같습니다.
이 에러는 잡으려면 소스를 바꿔야하나요?
아니면 sql문에서 값을 불러올때 값을 변형 해서 가져 와야하나요??
db값은? 10,20 이런식으로 integer 값이 들어가 있음.......
DB타입이 Numberic이면 당연히 쿼리의 필터에디터에는 TFloatField로 선언됩니다.
또 델파이은 자동형변환을 지원하므로 데이터 타입이 큰것에다 작은 타입을 변환없이 대입해도 받아들이는 변수의 타입에 따라 자동으로 형변환을 해서 들어가지요.(반대의
경우는 Error가 생깁니다만.)
혹시 필드에디터에 필드들을 다불러다 놓고 쿼리문에는 일부 필드만 Select한 건 아닌지 확인해 보시기 바랍니다.
블랙잭 wrote:
> * 사용환경 : 델파이5 / Windows 98
> * 에러 메시지 : Type mismatch for field '필드명'
> expecting : float actual : smallint
>
> DB에서는 타입이 NUMBER형인데 델에서 오픈할때 위 에러가 생성됨
> 이 에러는 쿼리의 필터에디터를 사용할때만 에러가 발생 ?
> 필터 선언되는 부분은 TFLOATFIELD로 자동 선언 되어집니다..
> 하지만 값은 smallint형이라서 위 에러가 발생합니다.
> 소스에서는 값을 변환해주는 부분이 없는 것같은데 내부적으로 값이
> 자동 선언되어지는 것 같습니다.
> 이 에러는 잡으려면 소스를 바꿔야하나요?
> 아니면 sql문에서 값을 불러올때 값을 변형 해서 가져 와야하나요??
> db값은? 10,20 이런식으로 integer 값이 들어가 있음.......
>
>
>