|
하안인 님이 쓰신 글 :
: 테스트를 해보니 CursorLocation을 clUseServer로 사용하니
: 복사하는 속도처리가 clUseClient보다 훨씬 빨라졌습니다.
: 그런데 프로그램중 에러가
: Dataset does not support bookmarks, which are requied for multi-record.
:
---> 데이터 원본이나 데이타 소스가 지원하지 않는 모양입니다.
주로 기능이 제한된 로컬디비나 낮은 버젼의 디비를 쓸때 납니다.
아니면 아예 지원하지 않거나여.... =ㅅ=;;
: 이런 에러가 나서 프로그램중에 RecordCount Property를 쓰는 부분을 삭제처리하니
: 에러가 안 띄네요.
: 그런데 테이블을 열고 테이블의 레코드 갯수를 화면상에 보여주려고 하는데
: while loop를 돌려서 연산할수도 없고 전체레코드 갯수를 어떻게 알수 있죠.
:
: 현재 테이블의 갯수를 보여주고 다른 테이블을 추가한후 다시 그합을 보여주려고
: 하거든요.(데이타 갯수가 몇개인지는 보여주여야 하니까요.)
:
:
: 잘못 했었네요. RecordCount는 -1로 되고 테이블을 오픈할때 위와 같은 메시지가
: 나타나네요.
---> 이 말이 왜 안나오나 했습니다. ^ㅅ^
그 이유는 서버측 커서를 사용하면 클라이언트 커서와는 다르게 데이타 말고 스키마나
메타데이터에 대한 정보가 어플이 있는 쪽으로 오지 않아서 그런 문제가 생겨요.
해결책은 쿼리 컴포넌트로 Select Count(~) ~ 문을 실행 시키거나 스토어드 프로시저로
미리 맹근 다음 받아오는 것으로 해결한 적이 있습니다.
다음의 프로시저가 예가 될 수 있겠네요, 뭐 커넥션 객체로 실행하면 될겁니다.
제 ado 강의를 보시면 아실거구요~ ^ㅅ^
SELECT COUNT(:PARAM1) FROM :PARAM2 :PARAM3 (WHERE 절과 같은 조건 인자)
이렇게 쿼리나 스토어드 프로시저를 작성한 뒤 인자만 샤샤샥~ 넘겨주면 됩니다.
설정 자료 테이블등과 같이 자주 안쓰이고 조작할 일도 별로 없는데다가 쌓일 염려도 없는
가벼운 테이블 이외에는 테이블 컴포넌트를 사용하지 마시길 추천 드립니다.
: 커서를 clUseClient로 했을때는 상관이 없었는데요.
:
|