델파이 5.0에서 ADO 2.6을 이용한 데이터베이스 프로그램에서
ADOQuery컴포넌트를 이용하여 질의를 할 경우
이 전에 질의 한 Select문에서 조건을 만족하는 레코드가
없을 경우 새로운 Select문으로 자료를 조회하거나
close명령을 사용하면 아래와 같은 예외가 발생합니다.
(
AdoQueryComponent.SQL.Add('Select * from Test Where age = "10"');
AdoQueryComponent.Open(); //여기서 조건을 만족하는 레코드가 없을 경우)
AdoQueryComponent.Close(); //요기서 예외가 발생
AdoQueryComponent.SQL.Clear();
AdoQueryComponent.SQL.Add('Select * from Test);
AdoQueryComponent.open();
)
bof 또는 Eof가 참이거나 ,현재레코드를 삭제했습니다.
요청한 작업에 현재레코드가 필요합니다.
이 예외를 없을 수 있는 방법 좀 부탁합니다.
> 델파이 5.0에서 ADO 2.6을 이용한 데이터베이스 프로그램에서
> ADOQuery컴포넌트를 이용하여 질의를 할 경우
> 이 전에 질의 한 Select문에서 조건을 만족하는 레코드가
> 없을 경우 새로운 Select문으로 자료를 조회하거나
> close명령을 사용하면 아래와 같은 예외가 발생합니다.
> (
> AdoQueryComponent.SQL.Add('Select * from Test Where age = "10"');
> AdoQueryComponent.Open(); //여기서 조건을 만족하는 레코드가 없을 경우)
>
> AdoQueryComponent.Close(); //요기서 예외가 발생
> AdoQueryComponent.SQL.Clear();
> AdoQueryComponent.SQL.Add('Select * from Test);
> AdoQueryComponent.open();
> )
>
>
> bof 또는 Eof가 참이거나 ,현재레코드를 삭제했습니다.
> 요청한 작업에 현재레코드가 필요합니다.
>
> 이 예외를 없을 수 있는 방법 좀 부탁합니다.
AdoQueryComponent.Close(); //<==이것이 빠진것같네여
AdoQueryComponent.SQL.Add('Select * from Test Where age = "10"');
AdoQueryComponent.Open(); //여기서 조건을 만족하는 레코드가 없을 경우)
AdoQueryComponent.Close(); //<== 여기서 에러가 발생하는것이 아니고 바로위 Open에서 발생하는 것일겁니다
AdoQueryComponent.SQL.Clear();
AdoQueryComponent.SQL.Add('Select * from Test);
AdoQueryComponent.open();