Q&A

  • operation not applicable 오류는 어떻게..?
Active := False;
SQL.Clear;
SQL.Text := 'Select c_ip, count(*) as Contents,'+
                   ' InDateTime,OutDateTime from OptDB'+
                    ' where (InDateTime >= :aFrom) and '+
                    '(InDateTime < :aTo) '+
                    ' group by c_ip order by c_ip,media_ip';

        ParamByName('aFrom').asDateTime := Trunc(         DatePeriodFrom.Date);
        ParamByName('aTo').asDateTime   := Trunc(DatePeriodTo.Date + 1);

Active := True;
이렇게 했는데 operation not applicable 에러가 생기는군요..
전혀 이해할 수가 없는 에럽니다..코드도 이상이 없는데..
게시판을 다 뒤져봤는데 이런 문제점을 제기한 사람은 많은데 해결안은 하나도 없더군요...
코더의 잘못인지 아니면 근본적으로 델파이 프로그램의 오류인지 조차 모르겠습니다..
ODBC로 mysql서버에 연결해서 디비를 쿼리하는 부분인데요,디버깅해보니 Actvie:=true;에서 에러가 발생하네요...
어떻게 해결할 수 있는 방법이 없는지요..
제 컴 두대에서는 잘 돌아가는데 다른데서는 안돌아가니..이것도 미칠 노릇이군요...타입이 안 맞다거나 신텍스 오류가 있다면 모든 컴에서 다 안돌아가야 할터인데...쩝..도와주십시요...
2  COMMENTS
  • Profile
    Cos Consulting 2002.02.19 18:19

    글쎄요.. 님의 컴 두대에선 잘돌아간다니.. 이상합니다만..
    위의 쿼리를 맞게쓰셨는지모르겠지만.. 안돼는 쿼리입니다.
    group by c_ip, IndateTime, OutDateTime 으로 그룹을 지정해주시던가
    아니면 IndateTime 과 outdatetime 을 select 문에서 빼주셔야합니다.

    맞는예)
    SQL.Clear;
    SQL.Add('Select c_ip, count(*) as Contents');
    SQL.Add('from OptDB');
    SQL.Add(where InDateTime >= :aFrom and');
    SQL.Add('InDateTime < :aTo);
    SQL.Add('group b c_ip);
    SQL.Add('order by c_ip, , media_ip');
  • Profile
    Mr. Ziker 2002.02.19 14:07
    안녕하세욤!!

    님과 같은 문제가 발생 했을때는 역시 뭐니 뭐니 해도 주변 시스템 환경
    부터 체크를 민감히 해보시는게 좋을 듯 싶습니다.

    문득 떠오르는 것이.. 시스템 자체에 설정된 날짜 형식이 어떤 형식이냐에
    따라서 달라진건 아닌지.. 하는 뭐 그런 생각이 듭니다.^^

    제어판에 가시면 날짜 형태 바꿔주는거 있죠.. 혹시 같은지.. 다른지
    한번 체크 해보십시오...

    이론.. 명쾌한 답이 아니어서리.. ^^^


    즐코!