오랑캐꽃 님이 쓰신 글 :
: 요새 제가 MySQL을 가지고 노느라... 능력부족인데도 자꾸 답변을 드리게 되네요~~ ^^;;
:
: 테이블이나 쿼리는 TDataSet 에서 상속되었고 이 DataSet 객체에는 현재 레코드를 가리키는 커서란 개념이 있습니다.
: 이 커서는 Next, Prior, Last, First 등의 메소드로 이동시킬 수 있지요.
: 원하는 레코드에 커서를 두고 커서가 놓인 레코드의 컬럼값은 Fields[], 또는 FieldByName() 등으로 조회하게 됩니다.
:
: 요약하면, 몽땅 읽어오는 게 아니라 레코드단위로 읽는다는 이야기입죠.
:
:
: 혹시 시간이 나신다면, PHP로 MySQL을 다뤄보세요. 복잡한 거 말고 쿼리 날리고 결과 출력하는 정도만요.
: 그 다음에 dbxopenmysql 코드를 보시면 PHP에서 썼던 MySQL 함수들과 흡사한 녀석들이
: 델파이의 요청에 의해 어떻게 동작하는지 보이게 되고 답답함이 조금은 풀리실 꺼에요. ^^;;
말씀하신건 어느정도 이해가 되었는데 딱 두가지만 더 물어보고 싶은데요 ㅠㅠ
TSQLQuery.SQL := 'select count(*) from `tablename`';
TSQLQuery.open();
하고나서
TSQLQuery.FieldByName('Count(*)').Value
하면 계속 오류가 나고 프로바이더 이용해서 데이터셋 구성해서 다시 count(*)구하는게 잘 안되던데 특별한 문자열을 써야하나요?
으으 다른 명령은 그럭저럭 되어가는데 count(*)을 이용한 구성을 하면 자꾸 없는 컬럼을 참조한다고 뭐라고 합니다.
FieldList나 fields를 이용해서 필드 이름만 쭉 나열해 볼수있는거라도 있으면 거기서 찾아서 참조할 이름을 보면 될 것 같은데 안되서 답답합니다.
아니면 인덱스로 참조할수 있다거나 그런 방법은 없는걸까요.
|