안녕하세요 저는 Query문을 실행할수 있는 Sql Editor를 만들고 있습니다
문제는 입력받은 Sql문을 수행하여 화면에 결과값을 보여 줘야 하는데
Query문이 Select일때는 Open을 Update,Delete등일경우에는 ExecSQL명령
으로 Query문을 실행시켜야 되는데 이것을 자동으로 구분하여
Query문을 처리해줄수 있는 방법이 있는가 해서요 아님 다른방법이라도..
문제는 Query문의 앞부분에 참조용문구(예: /* remark용 abc */) 등이 몇줄
에 걸쳐 있으면 Query문이 Select 용인지,Update용인지 알수가 없습니다
참고로 저는 RichEditor로 Query문을 입력받아 그내용을 Query 컴포넌트를
사용하여 실행시켜 결과를 DBGrid로 출력하고 있습니다
개인적으로 만든 프로그램에 아래와 같이 코딩하여 해결하였습니다.
if Copy( Trim( Memo1.Lines[0] ), 1, 6) = 'SELECT' then
Query1.Open
else
Query1.ExecSQL;
다시 말해서, 공백문자를 모두 제거하여 앞에서 여섯글자가 SELECT 라는 문장이라면
Open 하는 것이고, 아니면 ExecSQL 을 실행하는 것입니다.
참고가 되셨길..