_variant_t key;
CString temp = key.bstrVal;//字符
temp.Format("%d",key.lVal);//数字
AfxMessageBox(temp);
如何把 key 转成时间格式 yy-mm-dd hh:mm:ss ??

解决方案 »

  1.   

    /*
    将 _variant_t 类型的变量,转换成字符串(比如如果是数字,则转换成数字对应的字符串 :如 10.2 -> "10.200000")*/_variant_t var;  CString str; //转换以后的字符串//以下代码演示如何转换为C标准字符串型
    if (var.vt == VT_I4)
    {
        long lNum;
        char szCh[21];
        str=var.bstrVal;
        WideCharToMultiByte 
                 (CP_ACP, 0, var.bstrVal, -1,
                  szCh, sizeof(szCh), NULL, NULL);
    }//以下代码演示如何转换成逻辑型
    if( var.vt == VT_BOOL)
    {
        BOOL bVar;
        lNum=var.lVal;
        bVar= var.boolVar==0? FALSE : TRUE;
    }//以下代码演示为其余类型(补充)
    switch(var.vt)
    { case VT_BSTR:         //var is BSTR type
         str=var.bstrVal;
         break; case VT_I2:           //var is short int type 
         str.Format("%d",(int)var.iVal);
         break; case VT_I4:          //var is long int type
         str.Format("%d",var.lVal);
         break; case VT_R4:         //var is float type
         str.Format("%10.6f",(double)var.fltVal);
         break; case VT_R8:         //var is double type
         str.Format("%10.6f",var.dblVal);
         break; case VT_CY:        //var is CY type
         str=COleCurrency(var).Format();
         break; case VT_DATE:     //var is DATE type
         str=COleDateTime(var).Format();
         break; case VT_BOOL:     //var is  VARIANT_BOOL
         str= (var.boolVal==0) ?"FALSE": "TRUE";
         break; default:
         str.Format("Unk type %d\n",var.vt);
         TRACE("Unknown type %d\n",var.vt);
    }
      

  2.   

    也帮帮我的忙, 去看看我的一篇帖子吧:
    过年了,即使得不到我所需的答案, 大家开心了也不错.
    呵呵.
    分算什么东西.快乐才是最重要的!还有一个215分的问题,其实不是技术问题,只是一个常识问题, 此问题每一个小时增加10分,每个U..P者均有分!
    http://www.csdn.net/Expert/topic/497/497690.shtm
      

  3.   

       
      Platform SDK: Automation 
    VariantChangeType
    Converts a variant from one type to another.HRESULT VariantChangeType( 
      VARIANTARG *  pvargDest,  
      VARIANTARG *  pvarSrc,  
      unsigned short  wFlags,  
      VARTYPE  vt              
    );
      

  4.   

    高手们,搞定这个:
    http://www.csdn.net/Expert/topic/499/499189.shtm
      

  5.   

    _variant_t key;
    CString temp //字符
    temp.Format("%d",key.lVal);//
    DATE dt;
    COleDateTime da;
    dt=key.date;
    da=COleDateTime(dt);
    temp=da.Format("%Y-%m-%d %H:%M:%S");//yy-mm-dd hh:mm:ss 
    试一下!