if RADIOGROUP1.ITEMINDEX = 0 THEN
QUERY1.SQL.ADD(SSQL);
SSQL:='SELECT DBPGM.PGMID, DBPGM.PGMTITLE FROM DBPGM WHERE DBPGM.PGMID='+
FORMAT('''%S''',[TRIM(EDIT1.TEXT)]);
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;
end;
Query1.CLOSE;
검색코딩을 한것인데...
무엇이 잘못되었는지
검색 결과는 스트링 그리드로 반환을 할 것이구여
검색한 내용이나오는 것이 아니라 테이블의 제일 첨에있는 데이타 명이 나옵니다.
라디오 그룹이 6개가 존재하구여,,하나하나 선택할때 마다
그것에 대한 SELECT문을 작성하는데...
무엇이잘못되었나여?
> QUERY1.SQL.ADD(SSQL);
> SSQL:='SELECT DBPGM.PGMID, DBPGM.PGMTITLE FROM DBPGM WHERE DBPGM.PGMID='+
> FORMAT('''%S''',[TRIM(EDIT1.TEXT)]);
> TRY
> QUERY1.OPEN;
맞는지 모르겠네요.
위의 코딩을 보면....
QUERY1.SQL.ADD(SSQL); <-- 이부분에서 SSQL변수에 들어간 내용은 뭐죠?
만약 그 아래내용의 SSQL 변수 내용을 Query하는것이라면....
순서가 바뀐게 아닐까하는 생각이드네요. 아님..무슨 다른 의미가 있어서 이렇게 코딩했느지도 모르겠고...
위의 코딩의 내용은 라디오그룹의 첫번째 항목이 선택되어졌을때
Query1의 SQL문에 어떤값이 들어간지도 모르는 SSQL문자열을 입력한 다음
SSQL변수에 SQL문장을 입력하네요.
그리고는 Open을 하면.... Query에서 실행되는 문장은 어떤값일 들어간지 모르는 값이되겠네요. 아님...이전 SSQL변수에 들어있던 다른 SQL문장일지도....
순서를 바꿔보심이..... 그럼.