示例#1
0
// 模拟交互过程的函数
unsigned _int64 TestHL::ProtocolFun(const int& tag){
	// 获取被选标签的信息
	string sql;
	sql = "select [Id], [Key] from Tags_HL where Num=";
	sql.append(itostr(tag));
	adoConn.GetRecordSet(sql.c_str());
	if (adoConn.m_pRecordset->GetState() == adStateClosed || adoConn.m_pRecordset->GetRecordCount() == 0)
	{
		cout << endl << "Tag[" << tag << "] isn't in DataBase." << endl;
		return 0;
	}

	// 生成查询信息
	Request_Info req;
	req.id= adoConn.m_pRecordset->GetCollect("Id").uintVal;
	req.key = adoConn.m_pRecordset->GetCollect("Key").uintVal;
	adoConn.CloseRecordset();

	// 计时器
	MyTimer timer;
	// 初始化随机数生成器
	minstd_rand0 minrand(timer.GetBegin());

	timer.Start();

	// 调用模拟标签的函数
	Response_Info res = TagFun(req);

	// 调用阅读器的函数
	Result_Info result = ReaderFun(res);

	// 计时器终止
	timer.Stop();

	return  timer.GetTime();

}