大家好请教一个问题, 
在这个函数
BOOL CAdoRecordSet::PutCollect(LPCTSTR strFieldName, const BYTE &value)
{
ASSERT(m_pRecordset != NULL);
#ifdef _DEBUG
if (GetFieldType(strFieldName) != adUnsignedTinyInt)
AfxMessageBox("你要存储的字段与变量的数据类型不符");
#endif
ASSERT(GetFieldType(strFieldName) == adUnsignedTinyInt);

错误: return PutCollect(strFieldName, _variant_t(value));
}
提示error C2668: “CAdoRecordSet::PutCollect”: 对重载函数的调用不明确
 可能是“BOOL CAdoRecordSet::PutCollect(LPCSTR,const BYTE &)”
e:\hyproject\dbtest\ado.h(156): 或       “BOOL CAdoRecordSet::PutCollect(LPCSTR,const short &)”
e:\hyproject\dbtest\ado.h(155): 或       “BOOL CAdoRecordSet::PutCollect(LPCSTR,const int &)”
e:\hyproject\dbtest\ado.h(154): 或       “BOOL CAdoRecordSet::PutCollect(LPCSTR,const long &)”
试图匹配参数列表“(LPCTSTR, _variant_t)”时
实际类中有下面这个函数但是编译时报上面错误
BOOL CAdoRecordSet::PutCollect(LPCSTR strFieldName, _variant_t &value)
{
ASSERT(m_pRecordset != NULL);
try
{
if (m_pRecordset != NULL) 
{
m_pRecordset->put_Collect(_variant_t(strFieldName), value);
}
}
catch (_com_error e)
{
return FALSE;

return FALSE;
}