_variant_t((long)

场景:_variant_t转long的有关问题

_variant_t转long的问题
我上网查了就查到一种方法:
long ipaddtemp=(rst1->GetCollect("m_ipadd").lVal);

但是这样赋完值之后,数据变了,求解释

------解决方案--------------------
http://www.cnblogs.com/Sniper-quay/archive/2011/08/31/2161329.html
------解决方案--------------------
ChangeType 转换一下
C/C++ code

_variant_t val = rst1->GetCollect("m_ipadd");
val.ChangeType(VT_I4);
long lVal = val.lVal;