int stt = 0;
_variant_t Field;
Field= (_variant_t)pRst1->GetCollect("PRICE");
stt = Field.iVal;
这是我的代码,类型的转换是参考了书上的.但是发现好象的出来的数据和我数据库的值不一样,如我数据中的PRICE 值是799
但是得到的却是29244 怎么回事啊??有那位前辈能教我怎么转吗??
实在是感谢!!!

解决方案 »

  1.   

    int   stt   =   0; 
    _variant_t   Field; 
    Field=   (_variant_t)pRst1-> GetCollect("PRICE"); 
    stt   = (long)Field;
     //直接转换为int 好像会报错,所以先转成long型(前提是数据库中的数据不超过int的表示范围) 
      

  2.   

    我用了这个方法啊 
    还是不行哦
    我里面设置的是NUMBER型啊
      

  3.   

    谢谢了,问题解决了.那我想问下
    Field.iVal; 
    Field.LVal; 
    Field.intVal;
    和其他一些相关的类型,这些是什么,到底怎么用??
    为什么书上也这样用,我这样用却得到数据值不和数据库的数据值一样,而要这样用 stt =  (long)Field;
    谢谢!~~~~`
     
      

  4.   

    如果你用的是access,access的默认数值是长整型的