Q&A

  • 이 에러좀 해결해 주세여..
IF RADIOGROUP1.ITEMINDEX = 0 THEN



QUERY1.CLOSE;

// SSQL:= SSQL + Format('PGMID = ''%s''',[Trim(EDIT1.Text)]);

SSQL := 'SELECT DBPGM.PGMID, DBPGM.PGMTITLE FROM DBPGM WHERE DBPGM.PGMID ='+

FORMAT('''%S''',[TRIM(EDIT1.TEXT)]);

QUERY1.SQL.ADD(SSQL);

TRY



QUERY1.OPEN;



STRINGGRID1.Cells[0,0] := '프로그램아이디';

STRINGGRID1.Cells[1,0] := '프로그램제목';

STRINGGRID1.CELLS[0,1]:=QUERY1.FIELDS[0].ASSTRING;

STRINGGRID1.CELLS[1,1]:=QUERY1.FIELDS[1].ASSTRING;

QUERY1.SQL.CLEAR;



EXCEPT

Query1.Close;

APPLICATION.MESSAGEBOX('검색도중 에러발생', '에러', MB_OK+MB_ICONINFORMATION);

EXIT;

//Query1.FREE;

end;

Query1.CLOSE;



잘못된것이 없는거 같은데..자꾸만 invaild use of keyword token select라는 에러가 생겨여..어떻게 하져?

4  COMMENTS
  • Profile
    김광섭 2001.02.05 22:28
    초보 wrote:

    > IF RADIOGROUP1.ITEMINDEX = 0 THEN

    >

    > QUERY1.CLOSE;

    > // SSQL:= SSQL + Format('PGMID = ''%s''',[Trim(EDIT1.Text)]);

    > SSQL := 'SELECT DBPGM.PGMID, DBPGM.PGMTITLE FROM DBPGM WHERE DBPGM.PGMID ='+

    > FORMAT('''%S''',[TRIM(EDIT1.TEXT)]);

    > QUERY1.SQL.ADD(SSQL);

    > TRY

    >

    > QUERY1.OPEN;

    >

    > STRINGGRID1.Cells[0,0] := '프로그램아이디';

    > STRINGGRID1.Cells[1,0] := '프로그램제목';

    > STRINGGRID1.CELLS[0,1]:=QUERY1.FIELDS[0].ASSTRING;

    > STRINGGRID1.CELLS[1,1]:=QUERY1.FIELDS[1].ASSTRING;

    > QUERY1.SQL.CLEAR;

    >

    > EXCEPT

    > Query1.Close;

    > APPLICATION.MESSAGEBOX('검색도중 에러발생', '에러', MB_OK+MB_ICONINFORMATION);

    > EXIT;

    > //Query1.FREE;

    > end;

    > Query1.CLOSE;

    >

    > 잘못된것이 없는거 같은데..자꾸만 invaild use of keyword token select라는 에러가 생겨여..어떻게 하져?



    언뜻 보기에는...

    QUERY1.CLOSE;

    다음에 QUERY1.SQL.CLEAR; 먼저 하시고 SQL ADD를 하는게 어떨런지요.

    제가 그렇게만 하다보니 --"

    SSQL := 'SELECT DBPGM.PGMID, DBPGM.PGMTITLE FROM DBPGM WHERE DBPGM.PGMID ='+

    FORMAT('''%S''',[TRIM(EDIT1.TEXT)]);

    ===>

    SSQL := 'SELECT DBPGM.PGMID, DBPGM.PGMTITLE FROM DBPGM WHERE DBPGM.PGMID ="'+TRIM(EDIT1.TEXT)+'"';

    이 문장을 달리 표현하믄

    'SELECT DBPGM.PGMID, DBPGM.PGMTITLE FROM DBPGM WHERE DBPGM.PGMID = :DBPGM.PGMID'

    QUERY1.FieldByName('DBPGM.PGMID').AsString := TRIM(EDIT1.TEXT);

    글구요 쿼리 오픈하기전에 쿼리문이 잘못인지 한번 showmessage(query1.sql.text) 뿌려서 확인한번 해보시죠.

    그것두 여의치 않으면 SQL Monitor 실행하구서 컴파일해서 확인한번 해보세요.

    그럼, 즐코~~~

  • Profile
    초보 2001.02.05 23:39
    답변...감사드립니다..정말 답답했는데 조금씩 풀리는거 같네여

  • Profile
    나그네 2001.02.05 22:16
    IF RADIOGROUP1.ITEMINDEX = 0 THEN

    QUERY1.CLOSE;

    SSQL := Format('SELECT PGMID, PGMTITLE FROM DBPGM WHERE PGMID = ''%s'' ',

    [TRIM(EDIT1.TEXT)]);

    QUERY1.SQL.ADD(SSQL);





    초보 wrote:

    > IF RADIOGROUP1.ITEMINDEX = 0 THEN

    >

    > QUERY1.CLOSE;

    > // SSQL:= SSQL + Format('PGMID = ''%s''',[Trim(EDIT1.Text)]);

    > SSQL := 'SELECT DBPGM.PGMID, DBPGM.PGMTITLE FROM DBPGM WHERE DBPGM.PGMID ='+

    > FORMAT('''%S''',[TRIM(EDIT1.TEXT)]);

    > QUERY1.SQL.ADD(SSQL);

    > TRY

    >

    > QUERY1.OPEN;

    >

    > STRINGGRID1.Cells[0,0] := '프로그램아이디';

    > STRINGGRID1.Cells[1,0] := '프로그램제목';

    > STRINGGRID1.CELLS[0,1]:=QUERY1.FIELDS[0].ASSTRING;

    > STRINGGRID1.CELLS[1,1]:=QUERY1.FIELDS[1].ASSTRING;

    > QUERY1.SQL.CLEAR;

    >

    > EXCEPT

    > Query1.Close;

    > APPLICATION.MESSAGEBOX('검색도중 에러발생', '에러', MB_OK+MB_ICONINFORMATION);

    > EXIT;

    > //Query1.FREE;

    > end;

    > Query1.CLOSE;

    >

    > 잘못된것이 없는거 같은데..자꾸만 invaild use of keyword token select라는 에러가 생겨여..어떻게 하져?

  • Profile
    초보 2001.02.05 23:39
    답변..감사드립니다.

    많이 도움이 되었습니다.

    조금씩 프로그램을 해결해나가니까...

    잼있네여...