老大,
CDaoDatabase db;
CDaoTableDef td(&db);
CDaoRecordset rs;
都是Dao的类啊,ODBC当然不能用了。
直接用CDatabase类和CRecordset类。

解决方案 »

  1.   

    不啊,我使用CDaoTabelDef 添加字段却成功了.而且msdn上说可以的
      

  2.   

    我怎么不知道啊?msdn上说可以的 ?
      

  3.   

    The MFC DAO database classes are distinct from the MFC database classes based on ODBC. 
      

  4.   

    CDatabase 上如何给字段添加值?
    望告知,谢谢呢
      

  5.   

    VC的数据库能力不是很强,最好是直接生成SQL语句,然后用CDatabase执行SQL语句。
      

  6.   

    直接执行SQL语句吧,没什么办法的,
    因为没有SetFieldValue()可用。
      

  7.   

    sSql.Format("INSERT INTO HourValue VALUES (%d,'%s',%.1f,%.1f,%.1f,%.1f,%.1f,%.1f,%.1f,%.1f,%.2f,%.1f,%.1f,%.2f,%.1f,%.1f,%.1f,'%s',%d,%.1f,%.1f,%.1f)",
    tHourValue.TTUID,
    sTemp1,
    tHourValue.Ua,
    tHourValue.Ub,
    tHourValue.Uc,
    tHourValue.Uo,
    tHourValue.Ia,
    tHourValue.Ib,
    tHourValue.Ic,
    tHourValue.Io,
    tHourValue.Cos,
    tHourValue.P,
    tHourValue.Q,
    tHourValue.F,
    tHourValue.Wp,
    tHourValue.Wq,
    tHourValue.Runbalance,
    sTemp2,
    tHourValue.IsCal,
    tHourValue.RunLoad,
    0,
    0);
    try{
    db_Server.ExecuteSQL(sSql);
    }
    catch(CDBException *e)
    {
    AfxMessageBox(e->m_strError);
    e->Delete();
    if(iErrCount<3)
    {
    iErrCount++;
    continue;
    }
    else
    {
    return FALSE;
    }
    }
    db_Server是CDatabase类。