
来个C++高手帮我解决一下问题
关于数据转换的问题,ADO访问数据库返回的COM类型数据转换成C++标准数据,弄了半天没弄好,有高手加个好友细说一下吗,谢了,急等~~~~Q:83451896完成以后追加...
关于数据转换的问题,ADO访问数据库返回的COM类型数据转换成C++标准数据,弄了半天没弄好,有高手加个好友细说一下吗,谢了,急等~~~~
Q:83451896
完成以后追加双倍分,谢谢 展开
Q:83451896
完成以后追加双倍分,谢谢 展开
展开全部
CString vartostr(const _variant_t &var)
{
CString strValue;
switch (var.vt)
{
case VT_BSTR://字符串
case VT_LPSTR://字符串
case VT_LPWSTR://字符串
strValue = (LPCTSTR)(_bstr_t)var;
break;
case VT_I1:
case VT_UI1:
strValue.Format(_T("%d"), var.bVal);
break;
case VT_I2://短整型
strValue.Format(_T("%d"), var.iVal);
break;
case VT_UI2://无符号短整型
strValue.Format(_T("%d"), var.uiVal);
break;
case VT_INT://整型
strValue.Format(_T("%d"), var.intVal);
break;
case VT_I4: //整型
strValue.Format(_T("%d"), var.lVal);
break;
case VT_I8: //长整型
strValue.Format(_T("%d"), var.lVal);
break;
case VT_UINT://无符号整型
strValue.Format(_T("%d"), var.uintVal);
break;
case VT_UI4: //无符号整型
strValue.Format(_T("%d"), var.ulVal);
break;
case VT_UI8: //无符号长整型
strValue.Format(_T("%d"), var.ulVal);
break;
case VT_VOID:
strValue.Format(_T("%8x"), var.byref);
break;
case VT_R4://浮点型
strValue.Format(_T("%.4f"), var.fltVal);
break;
case VT_R8://双精度型
strValue.Format(_T("%.8f"), var.dblVal);
break;
case VT_DECIMAL: //小数
strValue.Format(_T("%.8f"), (double)var);
break;
case VT_CY:
{
COleCurrency cy = var.cyVal;
strValue = cy.Format();
}
break;
case VT_BLOB:
case VT_BLOB_OBJECT:
case 0x2011:
strValue = "[BLOB]";
break;
case VT_BOOL://布尔型
strValue = var.boolVal ? "TRUE" : "FALSE";
break;
case VT_DATE: //日期型
{
DATE dt = var.date;
COleDateTime da = COleDateTime(dt);
strValue = da.Format(_T("%Y-%m-%d %H:%M:%S"));
}
break;
case VT_NULL://NULL值
strValue = "";
break;
case VT_EMPTY://空
strValue = "";
break;
case VT_UNKNOWN://未知类型
default:
strValue = "UN_KNOW";
break;
}
return strValue;
}
{
CString strValue;
switch (var.vt)
{
case VT_BSTR://字符串
case VT_LPSTR://字符串
case VT_LPWSTR://字符串
strValue = (LPCTSTR)(_bstr_t)var;
break;
case VT_I1:
case VT_UI1:
strValue.Format(_T("%d"), var.bVal);
break;
case VT_I2://短整型
strValue.Format(_T("%d"), var.iVal);
break;
case VT_UI2://无符号短整型
strValue.Format(_T("%d"), var.uiVal);
break;
case VT_INT://整型
strValue.Format(_T("%d"), var.intVal);
break;
case VT_I4: //整型
strValue.Format(_T("%d"), var.lVal);
break;
case VT_I8: //长整型
strValue.Format(_T("%d"), var.lVal);
break;
case VT_UINT://无符号整型
strValue.Format(_T("%d"), var.uintVal);
break;
case VT_UI4: //无符号整型
strValue.Format(_T("%d"), var.ulVal);
break;
case VT_UI8: //无符号长整型
strValue.Format(_T("%d"), var.ulVal);
break;
case VT_VOID:
strValue.Format(_T("%8x"), var.byref);
break;
case VT_R4://浮点型
strValue.Format(_T("%.4f"), var.fltVal);
break;
case VT_R8://双精度型
strValue.Format(_T("%.8f"), var.dblVal);
break;
case VT_DECIMAL: //小数
strValue.Format(_T("%.8f"), (double)var);
break;
case VT_CY:
{
COleCurrency cy = var.cyVal;
strValue = cy.Format();
}
break;
case VT_BLOB:
case VT_BLOB_OBJECT:
case 0x2011:
strValue = "[BLOB]";
break;
case VT_BOOL://布尔型
strValue = var.boolVal ? "TRUE" : "FALSE";
break;
case VT_DATE: //日期型
{
DATE dt = var.date;
COleDateTime da = COleDateTime(dt);
strValue = da.Format(_T("%Y-%m-%d %H:%M:%S"));
}
break;
case VT_NULL://NULL值
strValue = "";
break;
case VT_EMPTY://空
strValue = "";
break;
case VT_UNKNOWN://未知类型
default:
strValue = "UN_KNOW";
break;
}
return strValue;
}

2025-08-05 广告
由于 Paykka 的所有操作流程都是线上化的,所以推测其支持移动端操作,比如通过 APP 或者适配移动端的网页端。这方便用户随时随地管理自己的账户和资金,提升了使用的便捷性。具体情况可咨询官方确认。...
点击进入详情页
本回答由paykka提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询