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라는 에러가 생겨여..어떻게 하져?
> 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 실행하구서 컴파일해서 확인한번 해보세요.
그럼, 즐코~~~