Q&A

  • select 문에서 카운트값가지고 오는방법??
안녕하세여

select count(*) from switch_info

group by switch_area

이렇게 select문을 날릴려고 합니다.

그럼 count(*)의 값을 델파이의 변수로 저장은 어떻게 해야되는건가여??

참고로 DB는 오라클입니다.

고수님덜 부탁드립니다.~~~~~

4  COMMENTS
  • Profile
    지나가는 사람.. 2001.09.25 00:28
    꼴통 wrote:

    > 안녕하세여

    > select count(*) from switch_info

    > group by switch_area

    > 이렇게 select문을 날릴려고 합니다.

    > 그럼 count(*)의 값을 델파이의 변수로 저장은 어떻게 해야되는건가여??

    > 참고로 DB는 오라클입니다.

    > 고수님덜 부탁드립니다.~~~~~



    보통 필드명 받듯이 ParamByName으로 받으면 됩니다.

    Sql을 count(*)으로 하셨으니까 ParamByName('count(*)').AsInteger 하시면 정수형으로

    값을 리턴받을수 있습니다.

  • Profile
    aparadin 2001.09.24 20:51
    꼴통 wrote:

    > 안녕하세여

    > select count(*) from switch_info

    > group by switch_area

    > 이렇게 select문을 날릴려고 합니다.

    > 그럼 count(*)의 값을 델파이의 변수로 저장은 어떻게 해야되는건가여??

    > 참고로 DB는 오라클입니다.

    > 고수님덜 부탁드립니다.~~~~~

    ========================================================

    sql을 쓰시면 RecordCount라는게 있거든요

    그게 select해온 record의 개수입니다. 말그대로 RecordCount죠

    그걸 변수에 넣으시면 되겠군요.

    대충이렇게하시면



    procedure TForm1.pGetRecordCount ;

    var

    lRecordCount : Integer;

    begin

    with Query do begin

    close;

    Sql.Clear;

    Sql.Add('select count(*) from switch_info');

    Sql.Add('group by switch_area');

    Open;//이걸 꼭 하셔야 RecordCount가 나온답니다.

    lRecordCount := RecordCount;//변수에 넣으시고 RecordCount는 integer 형이구요

    ShowMessage(IntToStr(lRecordCount));//그걸 한번 찍어보죠

    end;

    end;

    물어보신게 이게 맞나 모르겠군요..ㅋㅋ

    무책임한 초보가..

  • Profile
    초보자.. 2001.09.25 20:11
    aparadin님이 말씀하신대로 하면..

    recordcount 값이 1나오지 않나여?



    select count(*) from ddd 에서

    count(*)<== 데이타가 몇개있는지 알수 있지만

    i := recordcount; 이런식으로 받으면 i 값은 1이 나올꺼같은데요..

    아닌가요? ^^;;;





  • Profile
    김종언 2001.10.05 19:33
    query.open;

    query.fetchall;

    이렇게 해주면 잘나온다고 합니다...



    그냥하면 -1을 반환하는 경우가 종종있기땜에....







    초보자.. wrote:

    > aparadin님이 말씀하신대로 하면..

    > recordcount 값이 1나오지 않나여?

    >

    > select count(*) from ddd 에서

    > count(*)<== 데이타가 몇개있는지 알수 있지만

    > i := recordcount; 이런식으로 받으면 i 값은 1이 나올꺼같은데요..

    > 아닌가요? ^^;;;

    >

    >