小弟再联系ado操作数据库,用的vs2008编译器,一共代码没几行
AfxOleInit();
m_con.CreateInstance("ADODB.Connection");
m_rec.CreateInstance("ADODB.Recordset");
m_con->Open(_bstr_t(_T("Provider=MSDASQL.1;Password=admin;Persist Security Info=True;User ID=scott;Data Source=test")), _bstr_t(_T("")), _bstr_t(_T("")), adOpenUnspecified);
m_rec->Open(_bstr_t("select * from shop"), m_con.GetInterfacePtr(),adOpenDynamic , adLockOptimistic, adCmdText); 
m_rec->MoveFirst();
CString str=m_rec->GetCollect("shopname");
MessageBox(str);
::CoUninitialize();
程序在运行的时候一点问题也没有,但是在程序退出时会报堆损坏或者DLL文件中有BUG,但是我把这个项目当道我笔记本上vs2010的环境上运行,一点问题也没有。先感谢各位大哥
堆错误在crtodat.c文件里面void __cdecl __crtExitProcess (
        int status
        )
{
        __crtCorExitProcess(status);        /*
         * Either mscoree.dll isn't loaded,
         * or CorExitProcess isn't exported from mscoree.dll,
         * or CorExitProcess returned (should never happen).
         * Just call ExitProcess.
         */        ExitProcess(status);
}
。但是另一个一模一样的程序却在别的文件里面 
分享到: