COleVariant var;
var.ChangeType(VT_BSTRT, NULL);
RecSet.AddNew();
var=m_MoneyDlg.m_Amount;                 //m_Amount是一CString型成员变量
RecSet.SetFieldvalue("amount",var);       //金额
RecSet.Update();
为何我只能添加var里面的前一个字符,而不是整个字符串 ,采用的是DAO

解决方案 »

  1.   

    数据库中amount字段的类型和长度对吗?如果是新学的话,建议你别用DAO了,还是用ADO或ODBC吧。
      

  2.   

    我看你还是直接用一个float型来代替吧,保险一点.RecSet.AddNew();
    float var=m_MoneyDlg.m_Amount; 
    CString str;
    str.Format("%8.4f",var);                //m_Amount是一CString型成员变量
    RecSet.SetFieldvalue("amount",str);       //金额
    RecSet.Update();.
      

  3.   

    你的字段类型是什么?怀疑是LOB类型的
      

  4.   

    COleVariant var;
      var.vt=VT_BSTRT;
      RecSet.AddNew();
      var=m_MoneyDlg.m_Amount.AllocSysString();
      RecSet.SetFieldvalue("amount",var);       
      RecSet.Update();
      

  5.   

    上面var=m_MoneyDlg.m_Amount.AllocSysString();
    改一下
    var.bstrVal=m_MoneyDlg.m_Amount.AllocSysString();