Q&A

  • 질문]RecordCount의 값이 table에 관계없이 2로 됩니다.
아래와 같이 코딩을 했는데요

table이 증가하여도 RecordCount의 값은 변하지 않고 계속 2로 됩니다.

그래서 스트링그리드에 2개 이상의 데이타가 뿌려지지 않습니다.

해결 방법을 알려주세요~~~



if DataModule1.CallBookingQuery.RecordCount <> 0 then

with CallBookingList_StringGrid do

begin

i := 1;

RowCount := RecordCount + 1;



3  COMMENTS
  • Profile
    이송후 2001.08.09 08:41
    안녕하세여..

    컴맹입니다..



    Query.FetchAll; 요걸 한번 사용해보세여..



    RecordCount 가 제되로 인식이 되지 않은 경우가있거든여..



    그럴때 요걸 해주시면 잘 되는것 같아여..



    그럼 이만...



    ^뽀기^ wrote:

    > 아래와 같이 코딩을 했는데요

    > table이 증가하여도 RecordCount의 값은 변하지 않고 계속 2로 됩니다.

    > 그래서 스트링그리드에 2개 이상의 데이타가 뿌려지지 않습니다.

    > 해결 방법을 알려주세요~~~

    >

    > if DataModule1.CallBookingQuery.RecordCount <> 0 then

    > with CallBookingList_StringGrid do

    > begin

    > i := 1;

    > RowCount := RecordCount + 1;

    >

  • Profile
    송병철 2001.08.09 08:22
    RecordCount를 사용할때는 한가지 주의할점이 있습니다.



    가령 DB가 오라클인경우 어느 한 필드의 데이타 타입이 VarChar인경우

    그 필드의 사이즈가 255을 넘는다면 이 필드의 RecordCount를 인식 못합니다.

    또한 Blob타입인것도 인식을 못하는 경우가 발생합니다



    꼭 255사이즈 이상의 필드가 필요하시다면 필드타입을 Char로 바꾸시고 한번 해보세요..



    안그래야 할 경우는 RecordCount를 사용하시지 마시고 보통 While Eof do문을 쓰는데



    아래와 같은 경우는 이렇게 하세요. 도는동안 카운트를 세시면 되겠는데요..



    var

    Cnt : Integer;



    if not DataModule1.CallBookingQuery.IsEmpty then

    Cnt := 1

    While Eof do <-- 아리까리 하군요..

    begin

    inc(Cnt);

    end;



    with CallBookingList_StringGrid do

    begin

    i := 1;

    RowCount := Cnt + 1;









    ^뽀기^ wrote:

    > 아래와 같이 코딩을 했는데요

    > table이 증가하여도 RecordCount의 값은 변하지 않고 계속 2로 됩니다.

    > 그래서 스트링그리드에 2개 이상의 데이타가 뿌려지지 않습니다.

    > 해결 방법을 알려주세요~~~

    >

    > if DataModule1.CallBookingQuery.RecordCount <> 0 then

    > with CallBookingList_StringGrid do

    > begin

    > i := 1;

    > RowCount := RecordCount + 1;

    >

  • Profile
    ^뽀기^ 2001.08.09 22:48
    송병철 wrote:

    > RecordCount를 사용할때는 한가지 주의할점이 있습니다.

    >

    > 가령 DB가 오라클인경우 어느 한 필드의 데이타 타입이 VarChar인경우

    > 그 필드의 사이즈가 255을 넘는다면 이 필드의 RecordCount를 인식 못합니다.

    > 또한 Blob타입인것도 인식을 못하는 경우가 발생합니다

    >

    > 꼭 255사이즈 이상의 필드가 필요하시다면 필드타입을 Char로 바꾸시고 한번 해보세요..

    >

    > 안그래야 할 경우는 RecordCount를 사용하시지 마시고 보통 While Eof do문을 쓰는데

    >

    > 아래와 같은 경우는 이렇게 하세요. 도는동안 카운트를 세시면 되겠는데요..

    >

    > var

    > Cnt : Integer;

    >

    > if not DataModule1.CallBookingQuery.IsEmpty then

    > Cnt := 1

    > While Eof do <-- 아리까리 하군요..

    > begin

    > inc(Cnt);

    > end;

    >

    > with CallBookingList_StringGrid do

    > begin

    > i := 1;

    > RowCount := Cnt + 1;

    >

    >

    >

    >

    > ^뽀기^ wrote:

    > > 아래와 같이 코딩을 했는데요

    > > table이 증가하여도 RecordCount의 값은 변하지 않고 계속 2로 됩니다.

    > > 그래서 스트링그리드에 2개 이상의 데이타가 뿌려지지 않습니다.

    > > 해결 방법을 알려주세요~~~

    > >

    > > if DataModule1.CallBookingQuery.RecordCount <> 0 then

    > > with CallBookingList_StringGrid do

    > > begin

    > > i := 1;

    > > RowCount := RecordCount + 1;

    > >