问题遇到的现象和发生背景
gridcontrol中怎么显示两个表的数据,比如我借了一本书,借书表里就只有我的手机号,需要通过手机号去客户表查我的名字
gridcontrol中怎么显示两个表的数据,比如我借了一本书,借书表里就只有我的手机号,需要通过手机号去客户表查我的名字
数据读取到map1中保存,借书表中用手机号做key,其它信息做成结构体作为map的value
人员信息读取到map2,用人员id(或者身份证、或者手机号(如果唯一的话))做key,姓名、手机号等字段封装成结构体做value(或者读取到vecor也行)
遍历map2,查找手机号相同的人员信息即可。
下面是把人员信息保存到vector,通过手机号查询人员信息的例子:
#include <iostream>
#include <string>
#include <map>
#include <vector>
using namespace std;
//书籍信息
struct StBookInfo
{
string name; //书名
string isbn; //书籍编号
string auth; //作者
string publisher; //出版社
//其它字段
};
//时间
struct StDate
{
int year,mon,day;
};
//借书信息
struct StJieshuInfo
{
StBookInfo book; //借书信息
StDate date; //借阅时间
};
//人员信息
struct StPersonInfo
{
string id; //人员id
string name; //姓名
string phone; //手机号
//其它信息
};
map<string,vector<StJieshuInfo> > m_mapJieyue; //借阅信息 手机号做key
vector<StPersonInfo> m_vPersonInfo; //保存所有人员信息
//通过手机号查询人员信息
string phone="123";//需要查找的手机号
for (int i = 0;i<m_vPersonInfo.size();i++)
{
if (phone.compare(m_vPersonInfo[i].phone)==0)
{
//得到人员信息
break;
}
}