Q&A

  • 쿼리에서 다음과 같은 에러가 납니다.
[Error] DBSearch.pas(42): String literals may have at most 255 elements와 같은 에러가 발생하거든요.

쿼리는       SQL.Text := 'select d.PartLName, e.* from t_product a inner join T_TradePart c on a.TradeModelCode=c.TradeModelCode and a.TradeCode=c.TradeCode and c.Deleted=0 inner join T_Parts d on c.PartID=d.PartID and c.PartSeq=d.PartSeq and d.Deleted=0 inner join t_parttype e on d.parttypeid=e.parttypeid where a.ProductID=OrderNum and e.parttypename=''CPU'' order by c.PartID';이거거든요.

좀 복잡하져? 왜 나는지 그 이유를 알 수가 없네요.
해결할 수 있는 방법이 없을까요?
3  COMMENTS
  • Profile
    최용일 2004.06.01 01:57
    안녕하세요. 최용일입니다.

    쿼리문을 나누세요... 너무 길면 사람이 보기도 힘들어요...

    SQL.Text := 'select d.PartLName, e.* '
        ' from t_product a ' + #13#10 +
        ' inner join T_TradePart c ' + #13#10 +
        ' on a.TradeModelCode=c.TradeModelCode and ' + #13#10 +
        ' a.TradeCode=c.TradeCode and ' + #13#10 +
        ' c.Deleted=0 inner join T_Parts d on c.PartID=d.PartID and ' + #13#10 +
        ' c.PartSeq=d.PartSeq and d.Deleted=0 ' + #13#10 +
        ' inner join t_parttype e ' + #13#10 +
        ' on d.parttypeid=e.parttypeid where a.ProductID=OrderNum and ' + #13#10 +
        ' e.parttypename=''CPU'' order by c.PartID';

    ^^ 항상 즐코하세요...

  • Profile
    술한잔기울이며 2004.06.01 03:05
    답변 감사합니다.
    이렇게 긴 쿼리 문은 처음이라.. 헤헤..
    근데 #13#10은 키값을 나타내는 건가보죠?
    찾아봐야것다.
    감사합니다.


  • Profile
    ^ㅡ^ 2004.06.01 19:20
    //님에 대해서 구연설명.......
    sql문장은 한 라인에 255자인가 아무튼 자리에 제한이 있어서 길게쓰면 그런 에러가 발생합니다
    #13#10 <=이넘은 그냥 엔트친값이라고 생각하시면 됩니다
    그래서 라인은 바꾸는거죠..

    허접하게 답변 했습니다..
    항상 즐코하시고요 좋은 하루 되세요^^