Q&A

  • 아이고 벌써 3일째 머리가 깨집니다. 도와주세요.
* 사용환경 : 델파이5 / Windows 2000



adoconnection, adoquery, datasource, dbgrid를 이용해서

form1의 edit1.text에서 테이블명을 받아 그 결과를 form3이 뜨면서 보여주려 합니다.

폼 3의 코딩은 다음과 같이 하였습니다.



procedure TForm3.FormCreate(Sender: TObject);

var vedit : string;

begin

vedit := form1.edit1.text;

adoquery1.Close;

adoquery1.SQL.Clear;

adoquery1.sql.Add('select query, count(*) as su from '+vedit+'');

adoquery1.sql.add(' group by query order by count(*) desc');

adoquery1.open;

end;



에러 메세지는 다음과 같습니다..

project project1.exe raised exception class EOleException with message 'incorrect syntax near the keyword 'group'. process stopped. use step or run to continue.



제가 많이 급합니다. 제발좀 도와주세요....

전 초보고 무지하거든요. 자세히좀 알았으면 합니다..

3  COMMENTS
  • Profile
    celll 2000.08.12 21:26
    델파이초보 wrote:

    > * 사용환경 : 델파이5 / Windows 2000

    >

    > adoconnection, adoquery, datasource, dbgrid를 이용해서

    > form1의 edit1.text에서 테이블명을 받아 그 결과를 form3이 뜨면서 보여주려 합니다.

    > 폼 3의 코딩은 다음과 같이 하였습니다.

    >

    > procedure TForm3.FormCreate(Sender: TObject);

    > var vedit : string;

    > begin

    > vedit := form1.edit1.text;

    > adoquery1.Close;

    > adoquery1.SQL.Clear;

    > adoquery1.sql.Add('select query, count(*) as su from '+vedit+'');

    > adoquery1.sql.add(' group by query order by count(*) desc');

    > adoquery1.open;

    > end;



    위의 문장을 이런식으로 바꿔보시죠 ?

    With Adoquery1 Do Begin

    SQL.Close;

    SQL.Clear;

    SQL.Text := 'Select Query, Count(*) As Su From ' + vEdit +

    'Group by Query ' +

    'Order by Count(*) Desc ';

    Open;

    End;



    물론 위의 문장과 동일한 것이지만 보기에 더 깔끔할것 같은데요.

    특별한 문제점은

    adoquery1.sql.Add('select query, count(*) as su from '+vedit+'')

    부분이 잘못된것 같아요.

    참고로 위의 문장은

    adoquery1.sql.Add('select query, count(*) as su from '+vedit)

    이렇게 해야 맞습니다. ' '는 하나의 문자열을 만드는 것이기 때문에

    뒤에 + vedit만 하면됩니다.





  • Profile
    허춘 2000.08.12 08:23
    > procedure TForm3.FormCreate(Sender: TObject);

    > var vedit : string;

    > begin

    > vedit := form1.edit1.text;

    > adoquery1.Close;

    > adoquery1.SQL.Clear;

    > adoquery1.sql.Add('select query, count(*) as su from '+vedit+'');

    > adoquery1.sql.add(' group by query order by count(*) desc');

    > adoquery1.open;

    > end;

    >

    > 에러 메세지는 다음과 같습니다..

    > project project1.exe raised exception class EOleException with message 'incorrect syntax near the keyword 'group'. process stopped. use step or run to continue.



    The message looks like you can't use aggregate field

    in your "order by" clause.



    Try this way

    group by query order by 2 <-- your aggregate field index#.

    This works on interbase but I'm not sure what db you're using.



  • Profile
    델파이입문5일 2000.08.12 14:17
    허춘 wrote:

    > > procedure TForm3.FormCreate(Sender: TObject);

    > > var vedit : string;

    > > begin

    > > vedit := form1.edit1.text;

    > > adoquery1.Close;

    > > adoquery1.SQL.Clear;

    > > adoquery1.sql.Add('select query, count(*) as su from '+vedit+'');

    > > adoquery1.sql.add(' group by query order by count(*) desc');

    > > adoquery1.open;

    > > end;

    > >

    > > 에러 메세지는 다음과 같습니다..

    > > project project1.exe raised exception class EOleException with message 'incorrect syntax near the keyword 'group'. process stopped. use step or run to continue.

    >

    > The message looks like you can't use aggregate field

    > in your "order by" clause.

    >

    > Try this way

    > group by query order by 2 <-- your aggregate field index#.

    > This works on interbase but I'm not sure what db you're using.



    답변을 주셔서 감사합니다..

    제가 쓰는 db는 sql7.0입니다...

    저는 from절의 table명을 form1의 edit창에서 받은 string을 변수로 받아 처리하려 합니다. 정말 어찌해야할지 모르겠습니다..(ㅠㅠ)



    • 박정렬
    • 2000.08.12 08:25
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 조규춘
      2000.08.12 11:20
      박정렬 wrote: > 안녕하세요...델초보입니다. > > 프로그램을 실행하면 메인화면이 뜨고난 후에 로그...
    • 성호종
      2000.08.14 22:38
      구자균 wrote: LQ1570으로 저는 인쇄하였습니다. 퀵레포트로요~ 방법은 퀵레포트에서 custom으로 size잡...
    • 허춘
      2000.08.12 08:34
      구자균 wrote: > 아무리 해도 안되요. > 엡손LQ1570인데 허춘씨가 일러준 1170,570드라이버로 잡고 해봐...
    • 조규춘
      2000.08.12 11:34
      Hello!~ 아이구.. 쩝.. 나도 영어로 인사할라니... 못하겠다... 저게 끝이여요.... 이름이 같...
    • 허춘
      2000.08.12 13:13
      조규춘 wrote: > > Hello!~ > > 아이구.. 쩝.. 나도 영어로 인사할라니... 못하겠다... > > 저...
    • 선해석
    • 2000.08.12 07:35
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최의종
      2000.08.12 11:19
      객체 지향 언어에서 쓰이는 CLASS나 자료 구조라는 의미를 갖고 있습니다. TDBGRID의 경우는 DBGRID라는...
    • 이경환
    • 2000.08.12 07:35
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 이경환
      2000.08.13 02:46
      이경환 wrote: > ..................................... 앞으로 가기 ....................
    • 최용일
      2000.08.12 20:20
      안녕하세요. 최용일입니다. 1. Button2의 OnClick이벤트를 Button1의 OnClick이벤트와 똑같이 코딩하고 ...
    • celll
      2000.08.12 21:26
      델파이초보 wrote: > * 사용환경 : 델파이5 / Windows 2000 > > adoconnection, adoquery, datasource,...
    • 허춘
      2000.08.12 08:23
      > procedure TForm3.FormCreate(Sender: TObject); > var vedit : string; > begin > vedit :...
    • 델파이입문5일
      2000.08.12 14:17
      허춘 wrote: > > procedure TForm3.FormCreate(Sender: TObject); > > var vedit : string; > > begin ...
    • 이승우
    • 2000.08.12 06:07
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이승우
      2000.08.12 20:54
      해결방법을 찾았어요! 다른게 아니고 델파이를 여러개의 버전을 같이 쓰니 오류가 나더군요 그래서 현재 ...
    • 신선
    • 2000.08.12 05:19
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 허춘
      2000.08.12 07:56
      신선 wrote: > 인트베이스 6.0을 사용하려고 하는데 작동을 하지 않아서 보니 > 아래의 ID와 KEY를 입력...
    • 송기원
    • 2000.08.12 04:28
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 송인표
      2000.08.12 09:05
      님아 저랑 종씨내여.... 가장 큰 실수는요 Lock: TCriticalSection; 요 부분이 전역으로 선언되어...
    • 송기원
      2000.08.13 01:56
      Lock: TCriticalSection을 어떻게 전역으로 선언합니까..?? 죄송합니다..제가 워낙 무식해서리.... 송...
    • 임기택
      2000.10.26 19:58
      Lock: TCriticalSection 을 TWebModule1 class의 인스턴스로 선언하라는 야그에요~~ ex) unit type ...
    • 최용일
      2000.08.12 20:29
      안녕하세요. 최용일입니다. 델파이는 SDI입니다. 저는 그렇게 알고 있는데... 아무리 뜯어봐도 SDI인데...
    • 초보당
      2000.08.15 04:53
      델파이는 SDI가 아니라 MDI입니다. 안에서 뜨는 코드 윈도우나 폼윈도우가 Child 윈도우로 작동합니다. ...
    • 최용일
      2000.08.16 23:24
      안녕하세요. 최용일입니다. 델파이는 SDI가 맞는것 같습니다. 방금 스파이프로그램으로 본 결과 델파이 ...
    • 최용일
      2000.08.12 20:29
      안녕하세요. 최용일입니다. 델코에 가보시면 강좌가 있습니다. 그리고 여기 자료실에도 메뉴바란 컴포넌...
    • 황웅
    • 2000.08.12 03:06
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 델초보
    • 2000.08.12 03:05
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2000.08.12 20:33
      안녕하세요. 최용일입니다. OnClick이벤트에서 처리하시죠... 이게 젤 좋은 방법같은데요. 아님 LBN_...
    • 방경주
    • 2000.08.12 02:53
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 978775ㅅ6
      2001.01.14 06:28
      방경주 wrote: > 제가 퀵레포트로 출력을 하려구 하는데요.... > > ㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇ ㅇㅇ...
    • 황웅
    • 2000.08.12 02:37
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 고준환
      2000.08.22 20:46
      에고~~ 저도 그것땜시 고생을 많이 했는데 우연찮게 어떤분에 도움으로 해결하게 되었답니다. 그 방...
    • 이원택
    • 2000.08.12 02:33
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 허춘
      2000.08.12 08:31
      이원택 wrote: > 안녕하세요... > 저는 델파이에서 원하는 그리고의 cell에 위치하면 한영변환을 세팅하...
    • bigjang
    • 2000.08.12 02:24
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2000.08.12 20:36
      안녕하세요. 최용일입니다. TWebBrowser의 OnBeforeNavigate2 이벤트에서 처리하세요. ^^ 항상 즐코...
    • 이문환
    • 2000.08.12 02:09
    • 2 COMMENTS
    • /
    • 0 LIKES
    • celll
      2000.08.12 05:12
      이문환 wrote: > 안녕하세요.. > 거의 이 홈싸이트에 저는 보탬이 안되고 계속 질문만 올립니다. 헤헤^^ ...
    • 이문환
      2000.08.14 22:14
      답변 감사드립니다. 죄송한 부탁이지만, 간단하게나마 도움말만드는 방법을 알려 주시면 안될까요? 가령,...