(질문이 델파이 관련쪽이어서 인터베이스 Q/A에서 델파이 Q/A로 이동시켰습니다)
dbExpress에서 다음과 같은 경우에는 RecordCount를 쓸 수 없고 예외가 발생합니다.
1. 파라미터를 사용한 경우
2. 여러 테이블이 조인된 경우 (distinct 키워드)
3. 스토어드 프로시저인 경우
여기에 해당되는지 확인해보세요.
그럼...
김도형 님이 쓰신 글 :
: dbExpress 를 쓰고요... 파이어버드 1.5 씁니다.
:
: button1 클릭시.. (멀티 Row 를 쿼리하는 문장입니다)
:
: ###################################################
: SQLDateSet1.CommandText := 'Select ........';
: SQLDataSet1.Open;
:
: TotCnt := SQLDateSet1.RecordCount;
:
: for Cnt:= 0 to TotCnt -1 do
: begin
: realgrid.Cells[0,Cnt].asstring := ........
:
: SQLDateSet1.Next;
: end;
: #####################################################
:
: 문제는 TotCnt := SQLDateSet1.RecordCount; 이 부분에서
: "dbExpress Not Supported... 어쩌구 저쩌구..." 라고 나옵니다.
:
: 앞전에 테스트할때는 분명 레코드 카운트가 잘나와서 쿼리가 잘 되었는데
:
: SQLDateSet1.RecordCount 이부분 빼고 TotCnt := 12 라고 해서 쿼리하면
: 12라인이 잘 출력 되거든요..
:
:
: 귀신이 곡할 노릇이예요...
:
: 왜 전에는 잘되던 RecordCount 가 이젠
: 잘 안되죠?
:
: 뭔가 이게 좀 이상하다고 느낀느건...
:
: RecordCount 속성을 쓰지 않고
:
: While not EOF do
: begin
: realgrid.Cells[0,Cnt].asstring := ........
:
: SQLDateSet1.Next;
: end;
:
: 위 문장을 써도 역시 EOF 부분에서.... 무슨 오류가 떨어집니다.
: (전엔 이것도 잘 되었음..)
:
:
: 대체 왜 그럴까요? (되게 고민 많이 했습니다....)
:
:
:
:
:
|