我采用ADO方法从数据库中读取数据,有一个表的某个列的数据类型为float,值为100,可我从其中读出的却总是0,我不懂,代码如下://取得weight字段的值,并赋给权重数组
vweight = pmain->m_pRecordset->GetCollect("Weight");
m_fWeights[i++] = vweight.fltVal;我在调试器中观察到vweight为{100.00000000000,VT_R8}
可vweight.fltVal却总为0.000000!
我头晕,
请各位指点,谢谢!

解决方案 »

  1.   

    好像sql server里面读出的double, 你设断点看看VARIANT的值
      

  2.   

    或者可以赋值之前changetype一下
      

  3.   

    to:ymq8328(回头浪子) 
       一定要改变类型    ——什么意思啊?怎么改变类型啊?
      

  4.   

    double dTemp=vweight;
    m_fWeights[i++]=vweight;
    试试看
    —————————————————————————————————
    Let your soul guide you upon your way
    my qq is :131780
      

  5.   

    嗯,羊头说的对,应该取vweight.DBLVAL,我也遇到过