我在某个DLL中写了个函数:Init(CDatabase* pdb,...)做初始化工作(主要读取一些数据)主要用法是:
CRecordset rs(pdb); //RELEASE版本出错的地方!,说内存只读什么的
CString strsql="select .... from ......";
rs.Open(...);
....
我在EXE工程中,要调用刚才的DLL中的Init(CDatabase* pdb,...)我调用的时候是声明一个CDatabase m_db;
然后做好数据源连接,Init(&m_db,...);我之所以这样说(DLL和EXE工程)是因为,我如果在一个EXE工程里的话,不管RELEASE版本和DEBUG版本都没有问题!!!

解决方案 »

  1.   

    最后一句话说再说一遍(我觉得我说的有点问题,怕你们误解)我尝试了在同一个工程里(EXE工程),做完上面所有的步骤。包括数据源连接和CRecordset构建和访问数据库,总之,我在一个EXE工程里面用同样步骤的做法,RELEASE和DEBUG版本都没有问题。高手帮忙解决啊!
    谢了!
      

  2.   

    pdb指针为空吧!
    你在之前加个
    if(pdb==NULL)
    {
       MessageBox("pdb is NULL!");
       return;
    }检查一下,再找相应的原因