Q&A

  • Evariant Error란?


Evariant Error 라고 나오고 Invalid variant type conversion이라고

에러 메세지가 뜨는 군요



이게 무슨 에러죠 어떨때 뜨는지요

그리고 이상하게 데이터베이스에 자료가 하나라도 있으면



뜨지 않지만 오직 데이터가 비었을때 처음시작시에만 뜨는군요

혹시 아시는분있으면

1  COMMENTS
  • Profile
    임형호 2000.09.27 12:02
    혹시 코딩중에 DB의 자료를 조회하는 부분이 있을것 같네요.

    음...가령 해당 필드가 integer라든지 float이라든지하는데...아무 자료가 없는 상태에서 해당 필드의 값을 불러오면서 이용을 하려고 하기때문이 아닌쥐...



    확실치는 않지만 이런 경우에도 같은 에러가 발생합니다.

    간단히 파라독스로 테스트를 해봤습니다.

    음...그러니까 age라는 필드를 numeric으로 설정하고 아무자료가 없는 상태에서

    var

    i : integer;

    begin

    i:=table1.fieldvalues['age'];

    end;



    위와같이 코딩을 하면 당연 age값은 아무것도 없으므로 null로 인식을 합니다.

    그러면서 님께서 말씀하신 에러가 발생을 하는군요.

    타입이 안 맞는다는 말입니다.

    그런데 만약 자료가 한건이라도 있다면 그때는 당근 에러가 발생하지 않게 됩니다.

    null이 아니니까요.

    아무래도 님의 코딩중에 분명 필드값을 참조하는 부분이 있을테고, 그부분에서 에러가 발생하는것 같습니다.

    조건문을 주셔서 처리하는것이 나을듯 싶네요.

    가령

    table.eof 인가 확인을 하시든지 아님 해당필드의 값이 null인지 아닌지를 확인하시든지요. 그럼..이만...







    델피초보 wrote:

    >

    > Evariant Error 라고 나오고 Invalid variant type conversion이라고

    > 에러 메세지가 뜨는 군요

    >

    > 이게 무슨 에러죠 어떨때 뜨는지요

    > 그리고 이상하게 데이터베이스에 자료가 하나라도 있으면

    >

    > 뜨지 않지만 오직 데이터가 비었을때 처음시작시에만 뜨는군요

    > 혹시 아시는분있으면