안녕하세요 오랜만에 오는군요 *^-^*
이런 좋은 사이트가 있는것에 대해서 감사합니다
저는 델파이 3.0에서요 query문에서 query된 총갯수(count(*))를 구하고자 하는데
어떻게 해야 할지 잘모르겠어요
ex) select count(*) into :value from customer where count_no = :N1
제가 원하는건요 COUNT(*)의 값을 :value 에 넣고자 하는데 어떻게 해야 할지
모르겠습니다.
물론 델파이는 into 를 기능을 갖고 있지 않더군요. 그데신(fieldByName)이 있더군요.
다른 파워빌더나 비주얼 베이직은 그런 기능이 있어 참 편한것 같아요
왜 델파이는 지원하지 않는지 모르겠어요 그럼 참 편할텐데....
제발 가르쳐주시면 고맙겠습니다..
> 안녕하세요 오랜만에 오는군요 *^-^*
> 이런 좋은 사이트가 있는것에 대해서 감사합니다
>
> 저는 델파이 3.0에서요 query문에서 query된 총갯수(count(*))를 구하고자 하는데
> 어떻게 해야 할지 잘모르겠어요
>
> ex) select count(*) into :value from customer where count_no = :N1
>
> 제가 원하는건요 COUNT(*)의 값을 :value 에 넣고자 하는데 어떻게 해야 할지
> 모르겠습니다.
> 물론 델파이는 into 를 기능을 갖고 있지 않더군요. 그데신(fieldByName)이 있더군요.
> 다른 파워빌더나 비주얼 베이직은 그런 기능이 있어 참 편한것 같아요
> 왜 델파이는 지원하지 않는지 모르겠어요 그럼 참 편할텐데....
> 제발 가르쳐주시면 고맙겠습니다..
>
>
안녕하세요?
쿼리한 필드의 갯수를 말씀하시는 건가요?
약 2가지 이상의 방법이 있는데
1. SQL을 이용한 방법
2. 델파이의 TQuery.RecordCount메쏘드를 이용한 방법이 있습니다.
1. SQL을 이용할 때는요?
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add(' Select Count(Name) as NameCount From Fight_Tbl Where Rank = "3위" ');
Query1.Open;
이런식의 SQL문이 있다고 가정하면..
VariableCount := Query1.FieldByName('NameCount').AsInteger; // 변수에 카운트가
들어가거든요...
2. 는TQuery.RecordCount를 이용한 방법
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add(' Select * From Fight_Tbl Where Rank = "3위" ');
Query1.Open;
// 로컬.DB가 아닐때는 이구문을 수행..
Query1.FetchAll;
// 로컬이 아닐때는 RecordCount만 써주면 제값을 찾지 못하거든요.
// 쉽게 말해서 로컬이 아닐때는. 쿼리를 해서 테이블의 마지막 행까지 읽지 않기때문에
// Fetchall;이라는 메소드가 필요합니다.
쿼리 문장이 수행되면..
VariableCount := Query1.RecordCount; // 총쿼리된 레코드 카운트가 들어가죠..
이해 되셨죠?
델파이에는 여러가지 방법으로 편리한 메소드가 많이 있습니다.
없으면 상속으로 조합을 해도 되구요..
굉장히 자유롭도 또 강력하고 편하죠..
그럼 즐프 하세요..