CDatabase *pDb = new CDatabase;
pDb->Open(NULL);
//会弹出对话框,选择一个data source.
//已连接
TRY
{
    CRecordset Rs(pDb);
    Rs.Open(strSQL); //strSQL是合法的,好的SQL语句。
}
CATCH(...)
{
....
}
END...为什么会抛出异常?当然我的strSQL不是固定的select语句,不能绑定。

解决方案 »

  1.   

    数据库连接肯定没有问题,因为我pDb->ExcuteSQL(strSQL)是好的。//strSQL是insert语句。
    当我用mysql时错误信息为空字符串。
    当我用Access时错误是"No columns were bound prior to calling SQLFetchScroll/SQLExtendedFetch"
      

  2.   

    TRY
    {
    CDatabase db;
    db.Open(NULL);
    CRecordset Rs(&db);
    Rs.Open(AFX_DB_USE_DEFAULT_TYPE, "select * from t1");
    Rs.Close();
    }
    CATCH(CDBException, pEx)
    {
    return FALSE;
    }
    END_CATCH
      

  3.   

    Rs.Open(CRecordset::forwardOnly,"select * from t1");