안녕하세요..
오라클8i(8.1.7)입니다... BDE쓰구요..
에러 처리를 하는데.. 에러코드가 ODBC Oracle Test로 보는거하고
Except에 걸리는거하고 틀리네여 ㅡㅡ;
예)
try
Query.SQL.Add( 'SELECT MERONG.NEXTVAL FROM DUAL' );
Query.ExecSQL;
except on E: EDBEngineError do begin
//========>>> 요기.. 요기..
// ODBC Oracle Test로는 없는 시퀀스에러의 Native ErrorCode가
// 02289로 나오는데.. 그냥.. 여기처럼 ErrorCode로 잡으면
// 엉뚱한 값이 나오네요 ㅡㅡ;
if E.Errors[0].ErrorCode = 2289 then begin
// 없으면 생성
Query.SQL.Clear;
Query.SQL.Add( 'CREATE SEQUENCE MERONG START WITH 1' );
try
Query.ExecSQL;
except on E: EDBEngineError do
MessageBox( 0,
PChar( E.Message ),
PChar( 'Error' ),
MB_ICONERROR or MB_OK );
end;
end;
end;
end;
오라클 Native ErrorCode 값을 받을 수 있는 방법은:???