레코드 셋의 Before/AfterScroll 과 데이터셋을 잠시 연결 안되게 할 수 있을까요?
쿼리 컴포넌트를 변경해서 쿼리된 내용의 한 레코드의 합이라든지 여러계산을
할 수 있도록 컴포넌트를 만들려고 합니다.
예) 결과 필드 A
새 쿼리 컴포넌트의 메소드 B
b('A') --> for i := 0 to Recordcount - 1 do Temp := Temp + FieldByName('A').Integer;
그런데 여기에 데이터소스 이놈이 붙어 있고 만약 디비 그리드까지 붙어 있다면
for i := 0 to Recordcount-1 do
이 작업 시간이 너무 오래 걸립니다.
잠시 커서를 데이터셋과 떼어 놓는게 가능 할까요?
흐흐...
procedure TForm1.Button1Click(Sender: TObject);
var
i, SumVal: Integer;
begin
Query1.Open;
Query1.DisableControls;
SumVal := 0;
Query1.First;
for i := 0 to Query1.RecordCount - 1 do
begin
SumVal := SumVal + Query1.FieldByName('cnttotal').AsInteger;
Query1.Next;
end;
Query1.EnableControls;
ShowMessage(inttostr(SumVal));
end;
하창호 wrote:
> 레코드 셋의 Before/AfterScroll 과 데이터셋을 잠시 연결 안되게 할 수 있을까요?
>
> 쿼리 컴포넌트를 변경해서 쿼리된 내용의 한 레코드의 합이라든지 여러계산을
>
> 할 수 있도록 컴포넌트를 만들려고 합니다.
>
> 예) 결과 필드 A
> 새 쿼리 컴포넌트의 메소드 B
> b('A') --> for i := 0 to Recordcount - 1 do Temp := Temp + FieldByName('A').Integer;
>
>
> 그런데 여기에 데이터소스 이놈이 붙어 있고 만약 디비 그리드까지 붙어 있다면
>
> for i := 0 to Recordcount-1 do
>
> 이 작업 시간이 너무 오래 걸립니다.
>
> 잠시 커서를 데이터셋과 떼어 놓는게 가능 할까요?
>