wsprintf(szBuffer,_T("Insert Into Table_Test (Code,Name,) Values (%c,%f) "),vCode,vValue);错了.应该用:
wsprintf(szBuffer,_T("Insert Into Table_Test (Code,Name,) Values (%c,%f) "),(BYTE)vCode,(double)vValue);
原因就自己看看sprintf的源码吧.

解决方案 »

  1.   

    VARIANT是通用类型的,要和C++一起用,就成在类型转换了,C++,JAVA都是强制性类型语言
      

  2.   

    wsprintf(szBuffer,_T("Insert Into Table_Test (Code,Name,) Values (%c,%f) "),vCode.bVal,vValue.dblVal);
    在msdn中查一下VARIANT and VARIANTARG就可以知道了
      

  3.   

    to: wao(wao) 你的不行。出现如下问题:C:\Test\Test.cpp(392) : error C2440: 'type cast' : cannot convert from 'struct tagVARIANT' to 'unsigned char'
            No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
    C:\Test\Test.cpp(392) : error C2440: 'type cast' : cannot convert from 'struct tagVARIANT' to 'double'
            No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
    Error executing cl.exe.