TADOConnection을 이용해서 mdb파일 연결하는 것까지 배우셨으니
그 다음 꺼내는 방법만 아시면 될것 같군요.
TADOQuery를 사용해서 원하시는 데이터를 꺼내서 사용하시면 될것입니다.
[방법]
* TADOConnection으로 mdb 연결까지 가능한 다음부터 설명합니다.
1. 폼에 ADOQuery콤포넌트와 StringGrid,Button를 올립니다.
2. Button 클릭시 데이터를 가져와 그리드에 뿌려주기.
void __fastcall TForm1::Button1Click(TObject *Sender)
{
ADOQuery1->Active = false;
// 쿼리를 컨넥션에 연결한다.
ADOQuery1->Connection = ADOConnection1;
// 실행할 쿼리문 작성 (예문: Customer테이블에서 Name필드를 전부 가져오기)
ADOQuery1->SQL->Text = "Select Name From Customer";
// 쿼리 액티브를 활성화 시켜 쿼리문을 실행시킨다.
// 쿼리 결과를 가져오게 됨.
ADOQuery1->Active = true;
// 그냥 그리드 설정.
StringGrid1->FixedCols = 1; // 고정 행 1개
StringGrid1->FixedRows = 1; // 고정 줄 1개
StringGrid1->Cells[1][0] = "Name"; // 고정줄 맨위에 필드명을 써 주고
// 그리드 줄 개수를 DB에서 가져온 레코드 개수 + 1 개로 한다.
// 그리드 맨 위줄을 고정줄로 했기 때문에 1줄 더 추가.
StringGrid1->RowCount = ADOQuery1->RecordCount + 1;
// 쿼리에 있는 레코드에서 자료 가져오기
for(int i=0; iRecordCount; i++) {
// 구분하기 쉽게 그리드 첫줄에 번호 넣고
StringGrid1->Cells[0][i+1] = IntToStr(i+1);
// ***********************************
// 원하는 자료 보여주는 부분
// 쿼리에서의 현재 레코드에서 Name필드의 내용을 스트링형태로 자져온다.
StringGrid1->Cells[1][i+1] = ADOQuery1->FieldByName("Name")->AsString;
// 다음 레코드로 이동
ADOQuery1->Next();
}
ADOQuery1->Active = false;
}
Minus 님이 쓰신 글 :
: C++ 빌더를 이번에 처음 다루게 되었는데..
:
: mdb 파일에서 데이터를 가져와서 그 테이블 안의 특정 데이터 값을 StringGrid에 표시하는 방법을
:
: 알고 싶습니다.
:
: (예를들어 DB 안의 Name 이라는 필드에 있는 "김철수" 라는 값을 표에 표시하고 싶어요)
:
: TADOConnection을 사용해서 mdb 파일과 연결하는 방법은 ADO Programming 강좌를 통해 봤는데
:
: 이렇게 연결한 DB를 프로그램 상에서 어떻게 써먹어야 하는지... 도통 모르겠습니다
:
: 도와 주십시오
|