procedure Form1.Formcreate(..)
begin
with query1 do begin
Close;
sql.clear;
sql.add('select *');
sql.add('from table_name');
Open;
end;
Edit1.Text := IntToStr(Query1.recordcount);
end;
위와 같이 코드를 작성하였습니다.
query1을 dbgrid에서는 잘 받아와서 보여주는 반면에 Edit1에서는 '-1'이란 값을
보여주는 군요.. 분명히 많은 record들이 있는데 말입니다.
제가 워낙에 기초가 안돼있고 허접해서 뭐가 뭔지를 모르겠습니다.
저번에는 이런 방식으로 되었었던것 같은데..
답변 부탁드리면서 미리 감사의 말씀을 드립니다.
> procedure Form1.Formcreate(..)
> begin
> with query1 do begin
> Close;
> sql.clear;
> sql.add('select *');
> sql.add('from table_name');
> Open;
> end;
>
> Edit1.Text := IntToStr(Query1.recordcount);
>
> end;
>
> 위와 같이 코드를 작성하였습니다.
> query1을 dbgrid에서는 잘 받아와서 보여주는 반면에 Edit1에서는 '-1'이란 값을
> 보여주는 군요.. 분명히 많은 record들이 있는데 말입니다.
>
> 제가 워낙에 기초가 안돼있고 허접해서 뭐가 뭔지를 모르겠습니다.
> 저번에는 이런 방식으로 되었었던것 같은데..
> 답변 부탁드리면서 미리 감사의 말씀을 드립니다.
미리 검색을 하시면 될껀데.....
oracle의 경우 어쩌다 그런경우가 생길수도 있습니다.
Query1.open;
Query1.FetchAll;
{ Query1.last;
Query1.first;
}
Edit1.Text := IntToStr(Query1.recordcount);
하시구요... recordcount메쏘드를 자주 사용 안하시는게 좋을 겁니다.
매번 다시 세거든요. 카운트가 커지면 대책없이 느려집니다.
쿼리시 count 를 하시는게 빠를 경우도 있습니다.