Q&A

  • [Q]레코드 셋의 Before/AfterScroll 과 데이터셋을 잠시 연결 안되게...
레코드 셋의 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



이 작업 시간이 너무 오래 걸립니다.



잠시 커서를 데이터셋과 떼어 놓는게 가능 할까요?



2  COMMENTS
  • Profile
    하창호 2001.10.16 01:24
    DisableControls 과 EnableControls 로 되네여



    흐흐...



    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

    >

    > 이 작업 시간이 너무 오래 걸립니다.

    >

    > 잠시 커서를 데이터셋과 떼어 놓는게 가능 할까요?

    >

  • Profile
    초보의비애 2001.10.16 01:32
    DisbleControls와 EnableControls를 사용해 보세염.......







    하창호 wrote:

    > DisableControls 과 EnableControls 로 되네여

    >

    > 흐흐...

    >

    > 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

    > >

    > > 이 작업 시간이 너무 오래 걸립니다.

    > >

    > > 잠시 커서를 데이터셋과 떼어 놓는게 가능 할까요?

    > >