Q&A

  • Query 구문에서의 Conditional Statement에 관한 질문입니다.
Query 구문에 CASE를 이용하여 데이터를 가지고 오려고 합니다. 그런데, 'Invalid use of keyword. Token: WHEN'이라는 에러가 발생합니다. 아무리 책이나 인터넷을 찾아봐도 Paradox와 Case에 대한 답이 없네요. 'WHEN'에서 문제가 생기는 것 같은데 도무지 모르겠네요. 부탑드립니다.

DB는 Paradox입니다. 소스는 다음과 같습니다.

Var
   sQry: string;
   tempQry: TQuery;

Begin
   tempQry := TQuery.Create(nil);
   with tempQry do
   begin
       DatabseName := 'BBData';
       sQry := 'SELECT TA.PONo, TA.OrdQty, TA.OrdAmount, TB.Company,'
                + 'CASE TA.OrdType WHEN "I" THEN "Inventory" ELSE "Special" END OrderType '
                + 'FROM Orders TA LEFT OUTER JOIN Customer TB ON TA.CustID=TB.CustID '
                + 'WHERE PONo=' + fldPONo.Text;
       SQL.Clear;
       SQL.Add(sQry);
       Prepare;
       Open;
       if isEmpty then
          messageDlg('No data',mtInformation,[mbOk],0)
       else
          showQuery;
   end;
   tempQry.Free;
End;

0  COMMENTS