|
안녕하세요 만해입니다.
김백일님께서 가르쳐 주신 자료형을 이용해서
DataBase에서 자료를 받아 와서
그걸 한 아디당 자료로 다시 정렬을 시켜야 하는데
이 부분이 잘 안되네요
혹시 아시는분 있으면 좀 봐주세요
Equal_Range하고 multi_map에서의 탐색 부분을 모르겠네요
고수님들의 도움 요청 합니다.
vector<int> Url_Id;
for (int i = 0 ; !SQL->Eof ; i ++ )
{
mm_urls.insert(url_duration_mmap::value_type(SQL->FieldByName("Url_Id")->AsInteger,
url_duration(SQL->FieldByName("Duration_Time")->AsInteger,
SQL->FieldByName("Duration_Time_Count")->AsInteger)));
SQL->Next();
Label1->Caption = IntToStr(i);
}
SQL->Close();
SQL->SQL->Clear();
SQL->SQL->Add("select distinct Url_Id from duration_time order by Url_id");
SQL->Open();
for ( int i = 0 ; SQL->RecordCount > i ; i ++ )
{
Url_Id.push_back(SQL->FieldByName("Url_Id")->AsInteger);
Application->ProcessMessages();
}
for ( size_t i = 0 ; i < Url_Id.size() ; i++ )
{
pair<url_duration_mmap::iterator , url_duration_mmap::iterator> p1;
p1 = mm_urls.equal_range(Url_Id[i]);// <- 하나의 아이디에 해당하는 자료를 빼 내는 부분
for ( url_duration_mmap::iterator s = p1.first ; s != p1.second ; s++ )
{// multi_map 탐색인데 이게 아닌것 같아요 뭐가 잘못 된건지
ResultMemo->Lines->Add(AnsiString(i) + ":" +
AnsiString(s->second.duration_time)+ ":" +
AnsiString(s->second.duration_count));
Application->ProcessMessages();
}
Application->ProcessMessages();
}
그럼 이만~
|