|
서나 님이 쓰신 글 :
: 여러명의 레코드를 DB에서 저장 프로시저를 이용하여 가져오고 싶습니다.
:
: 저장 프로시저(패키지를 이용)를 이용해서 커서를 반환하여, DB 그리드에 연결하고
:
: Open()을 하면 DB 그리드에는 여러개의 데이터를 가져와서 자동으로 Fetch를 합니다.
:
: => 여기까지는 했습니다.^^;;
:
: 그러나 DB 그리드외에 리스트뷰에 데이터를 하나씩 추가하고 싶은데요.
:
: 커서변수를 이용해서 데이터를 하나씩 출력하는게 가능한가요?
:
: for문을 돌리면서 데이터를 하나씩 추가해야할거 같은데
:
: 어떤 방식으로 해서 데이터를 하나씩 가져올수 있는지 궁금합니다.
:
: 어떻게 오픈하고 Fetch를 시켜야할지.....
:
: 알고 계시는 분 있으면 꼭 알려주세요.
대충 다음과 같은 코드를 쓰시면 됩니다.
for (StoredProc1->First()!; !StoredProc1->Eof; StoredProc1->Next()) {
TListItem *ListItem = ListView1->Items->Add();
ListItem->Caption = StoredProc1->Fields[0]->AsString;
for (int i = 1; i < StoredProc1->Fields->Count; ++i)
ListItem->SubItems->Add(StoredProc1->Fields[i]->AsString);
}
실제로는 위의 Fields[i]와 같은 형태보다는 FieldsByName()을 써서
필드의 이름을 직접 지정하는게 더 낫습니다.
|