我们可以用以下方法将取得的类型转化为字符串
Holder = MySet->GetCollect("a");
if(Holder.vt!=VT_NULL)
{
。。
(char*)_bstr_t(Holder)
}
我们可以用这种方法将字段的内容转化为字符串,
如果数据类型是long或者日期类型,我们怎么转化呢?
Holder = MySet->GetCollect("a");
if(Holder.vt!=VT_NULL)
{
。。
(char*)_bstr_t(Holder)
}
我们可以用这种方法将字段的内容转化为字符串,
如果数据类型是long或者日期类型,我们怎么转化呢?
然后再相应转化吧
str = (char *)(_bstr_t)(m_pRs->Fields->GetItem(_variant_t("OTHERDEC"))->Value);
转化为long
可以用atol()这个函数
日期可能要自己分解吧
gz
VARIANT vFieldValue
CString Holder;
MySet->GetFieldValue("FIELD_1", covFieldValue);
vFieldValue = (LPVARIANT)covFieldValue;
Holder.Format("%s",vFieldValue->pbVal);
m_List.AddString(Holder);
long(Holder)如果转化为日期型的话,可以先转换:
Holder.ChangeType(VT_BSTR);
COleDateTime dt;
dt.ParseDateTime((char*)_bstr_t(Holder),VAR_DATEVALUEONLY)就可以转换为日期()用COleDateTime来代替。
设置一个断点,然后看看covFieldValue里面的数据在什么里面,然后用相对代码就可以了。
比如vFieldValue = (LPVARIANT)covFieldValue;
你看一下会发现在pbVal里面,然后加上
Holder.Format("%s",vFieldValue->pbVal);
就一切ok,做多了以后,就不用跟踪了。。或者你也可以看一下msdn,里面有详细的定义。