너무 급합니다. 도와주세요...
이 코드는 작업전 인덱스를 없애주고 작업후 다시 인덱스를 생성시켜 주는 과정을 코딩한 것입니다. 다른건 전혀 문제가 없는데... 인덱스가 없는 경우 인덱스 drop시에 에러가 나고 그때 이 과정을 넘겨 버리고 싶습니다. 그런데...
예외 처리가 되지 않는군요... 정말 너무 급합니다. 항상 질문만 해서 죄송하지만...
제발 도와 주십시오...
=========================================
With Query2 Do Begin
try
Close; SQL.Clear; SQL.Add('drop index medclmyy_idx1'); ExecSQL;
Except
showmessage('medclmyy_idx1 index 생성됨');
end;
Close;
SQL.Clear;
//SQL.Add('drop index medclmyy_idx1');
SQL.Add('delete from medclmyy');
SQL.Add('where c_jinyy = ''' + CEN.Text + ccwkDate + '''');
ExecSQL;
Close;
SQL.Clear;
SQL.Add('load table medclmyy from ''c:HospWorkbinmedclmyy.txt ''
format ''ascii'' quotes on escapes on strip off delimited by '','' ');
ExecSQL;
Close;
SQL.Clear;
SQL.Add('CREATE INDEX "medclmyy_idx1" ON "DBA"."medclmyy"("c_chunggu"
ASC,"c_sosok" ASC,"c_clmnum" ASC,"c_jinryo" ASC)');
ExecSQL;
End;
> 너무 급합니다. 도와주세요...
> 이 코드는 작업전 인덱스를 없애주고 작업후 다시 인덱스를 생성시켜 주는 과정을 코딩한 것입니다. 다른건 전혀 문제가 없는데... 인덱스가 없는 경우 인덱스 drop시에 에러가 나고 그때 이 과정을 넘겨 버리고 싶습니다. 그런데...
> 예외 처리가 되지 않는군요... 정말 너무 급합니다. 항상 질문만 해서 죄송하지만...
> 제발 도와 주십시오...
> =========================================
> With Query2 Do Begin
> try
> Close; SQL.Clear; SQL.Add('drop index medclmyy_idx1'); ExecSQL;
> Except
> showmessage('medclmyy_idx1 index 생성됨');
> end;
> Close;
> SQL.Clear;
> //SQL.Add('drop index medclmyy_idx1');
> SQL.Add('delete from medclmyy');
> SQL.Add('where c_jinyy = ''' + CEN.Text + ccwkDate + '''');
> ExecSQL;
>
> Close;
> SQL.Clear;
> SQL.Add('load table medclmyy from ''c:HospWorkbinmedclmyy.txt ''
> format ''ascii'' quotes on escapes on strip off delimited by '','' ');
> ExecSQL;
>
> Close;
> SQL.Clear;
> SQL.Add('CREATE INDEX "medclmyy_idx1" ON "DBA"."medclmyy"("c_chunggu"
> ASC,"c_sosok" ASC,"c_clmnum" ASC,"c_jinryo" ASC)');
> ExecSQL;
> End;
안녕하세요. 배스마니아 조덕진입니다.
델파이 초보라서 큰 도움이 될지 모르겠지만,
다음의 코드를 사용하시면 해결이 될 것으로 생각합니다.
// 폼 생성 이벤트
procedure Tform.FormCreate(Sender: TObject);
begin
Application.OnException := AppException;
end;
// 사용자 정의 함수
procedure Tform.AppException(Sender: TObject; E: Exception);
begin
if pos('Key violation', E.Message) > 0 then
ShowMessage('Key Violation Error.!')
else if pos('Update failed', E.Message) > 0 then
ShowMessage('Update Faied Error.!')
else
ShowMessage(E.Message);
end;
> try
> Close; SQL.Clear; SQL.Add('drop index medclmyy_idx1'); ExecSQL;
> Except
> showmessage('medclmyy_idx1 index 생성됨');
> end;
Raise EAbort.Create('');
제 경우엔 이렇게 해서 예외처리를 하고 있습니다.
원하시는 답변인지 모르겠네요.
그럼.