读书人

在BCB里向MAP 里写入了数据接收的

发布时间: 2012-03-12 12:45:32 作者: rapoo

在BCB里,向MAP 里写入了数据,接收的时候怎么接收啊?(新手问题。好心人帮帮忙)

好心人帮帮忙,我刚刚接触这个,好心人帮帮忙给把这段代码改对了呗。。。

map<string,int> m;
map<string,int>::iterator p;


qry1->Close();
qry1->SQL->Clear();
qry1->SQL->Add("select fst,count(*) as cnt from tb_new group by fst");
qry1->Open();

while(!qry1->Eof)
{
String str1=qry1->FieldByName("fst")->AsString;
int x1=qry1->FieldByName("cnt")->AsInteger;
//ShowMessage(str1);

String STR = str1;
string str = STR.c_str();


m.insert(pair<string,int>(str,x1));

qry1->Next();
}
for(p=m.begin();p!=m.end();p++)
{


ShowMessage(p->first);
// ShowMessage(p->second);


}

[解决办法]
ShowMessage只接受String,而p->first是string,要这样改一下:
ShowMessage(p->first.c_str());

String和string是不同的类,要小心,瞧你的

C/C++ code
  String STR = str1;  string str = STR.c_str(); 

读书人网 >C++ Builder

热点推荐