Q&A

  • 디비에서 이런 에러가.....

안뇽하세요

오늘은 또 이런 문제가...ㅡㅡ;

우선 에러메세지는 'ORA-00932 : 데이타유형이 일치하지 않습니다.'

입니다...

디비는 오라클 7을 쓰고 있구요

쿼리 올리기는 모해서 그냥 이렇게만 쓰는데 알 수 있을까요??

쿼리문을  나눠서 조금씩 실행하면은 잘되는데 모두 합쳐서 하면 에러가 나네요

왜 그럴까요??

그리고 쿼리문 쓸때

WHERE MAIN_CODE = 'item' 이라고

MAIN_CODE의 필드값이 'item'과 같은거라는 건데 그냥 이렇게 쓰면 에러가 뜨고

WHERE MAIN_CODE = :as_item
_________________________________________

  ParamByName('as_item').Asstring:='item';

이렇게 쓰면은 되더라구요

복잡하게 이렇게 쓰는 방법 말구 그냥 :as_item에다가 'item'이라는 값을 줄려면
어떻게 해야할지요...????



4  COMMENTS
  • Profile
    박장용 2002.09.05 19:46
    궁금하신 내용은 따옴표를 두개 치시면 됩니다..
    TempQuery.SQL.Clear;
    TempQuery.SQL.ADD(' SELECT * FROM TEMPTABLE ');
    TempQuery.SQL.ADD(' WHERE MAIN_CODE = ''item''  ');
    TempQuery.SQL.OPEN;
    요렇게요..

    하지만 님이 하시는 방법이 더 좋은 방법입니다..
    TempQuery.SQL.Clear;
    TempQuery.SQL.ADD(' SELECT * FROM TEMPTABLE ');
    TempQuery.SQL.ADD(' WHERE MAIN_CODE = :asitem ');

    TempQuery.ParamByName('as_item').Asstring:='item';

    TempQuery.PrePare;
    TempQuery.SQL.OPEN;

    이렇게 하시면  일단 보기두 깔금하구요..
    글구 속도가 빨르다고 합니다..
    DB에서 파싱단계를 Skip하기 때문이라는데.. ^^;
    좌간 님의 방법이 더 좋습니다..

    즐코 하세요..
  • Profile
    김상수 2002.09.05 19:54
  • Profile
    휴초보 2002.09.05 19:17
    답변은 아니고 혹 item 이 예약어 아닌가 한네요..
    전에 저도 그런 적이 있는데(저는 Size) 확인해 보니 예약어라서
    Table의 Field를 수정한 적이 있거든여...

  • Profile
    김상수 2002.09.05 19:27