代码如下:
 try {
   if (!m_db.Open("testDB"))
   {
MessageBox("Error open database!");
return;
   }

   CRecordset rec;
rec.m_pDatabase = &m_db;
CString str = rec.GetDefaultConnect(); if (!rec.Open(AFX_DB_USE_DEFAULT_TYPE, "Select Count(*) From testDB"))
{
MessageBox("Error open RecordSet!");
return;
} MessageBox(rec.GetTableName());
rec.Close();
}
catch (CDBException edb)
{
MessageBox(edb.m_strError); 
}
执行到rec.Open是出错

解决方案 »

  1.   

    testDB  DNS
    testDB  table name
      

  2.   

    我的代码是这样的:
    m_db.Open("lt",FALSE,FALSE,"ODBC;DSN=lt;UID=sa;PWD=sa",TRUE);
    CRecordset  ResultSet(&m_db);
    try
    {
    ResultSet.Open(CRecordset::forwardOnly,
      _T("select * from ÈÎÎñ±í"));
    }
    catch(CDBException* e)
    {
       AfxMessageBox("¶ÁÈ¡½á¹û´íÎó!" + e->m_strError);
       return;
    }
      

  3.   

    CRecordset::forwardOnly好像是只读的,如果我想添加删除怎么办?
    我的数据可是不支持动态数据集。用access生成连接表是可以添加删除的。
      

  4.   

    终于解决了,
    我的数据库不支持CRecordSet
    只能通过CDatabase的ExecSQL来处理数据
    不过还是多谢各位