问题描述:
  在VC工程中,我用ADO访问MYSQL数据库,在制面板->管理工具->数据源(ODBC)中建立数据源,MyODBC版本是v5 ,测试连接是成功的。执行插入语句,可以插入记录,所以ADO能正常连接到MYSQL数据库。使用ADO执行select * from test ,(数据表test中是有数据的,都是数值类型的),ADO记录集没有记录。无错误返回。为什么记录集中没有记录呢? 请各位给点建议,谢谢!!!

解决方案 »

  1.   

    代码如下:CString strConnString = _T("");
    CADODatabase tDatabase;strConnString.Format("Provider=MSDASQL.1;Persist Security Info=True;Data Source=%s;User ID=%s;Password=%s;"
    ,m_strDbName,m_strUser,m_strPassword);
    if (!tDatabase.Open(strConnString)) 
    {
      return false;
    }CString sSQL = _T("");
    CADORecordset rsTmp;
    int nRecordsAffected = 0;sSQL.Format("insert into test (testid) values ('1')");
    tDatabase.Execute(lpszSql,nRecordsAffected);sSQL.Format("select * from test");
    if (!rsTmp.Open(tDatabase.GetActiveConnection(), sSQL,CADORecordset::openUnknown)) 
    {
    return false;
    }
    while (!rsTmp.IsEOF()) 
    {
           //取得数据
            ............... rsTmp.MoveNext();
    }
      

  2.   

    没有错误产生,我用同样的代码在Oracle查询,能查询出数据,记录集中有数据。