iCAx开思工具箱

标题: ug与MFCdll数据库ado的连接打开是怎么弄的啊? [打印本页]

作者: shuoqi    时间: 2006-9-7 11:31
标题: ug与MFCdll数据库ado的连接打开是怎么弄的啊?
我在MFCdll中加入入口函数后,未加数据库时,可以在ug中打开对话框,在所建立的主cpp文件中加入下面的连接数据库的语句时怎么就不行了呢?请各位大侠多多指教啊,急啊。

BOOL CMytestApp::InitInstance()
{
        // TODO: Add your specialized code here and/or call the base class
        //初始化COM,创建ADO连接等操作
        AfxOleInit();
        m_DBCnt.CreateInstance(__uuidof(Connection));

        //在ADO操作中建议语句中要常用try...catch()来捕获错误信息,
        //因为它有时会经常出现一些想不到的错误

        try
        {
                m_DBCnt.CreateInstance(__uuidof(Connection));
                CString sql_;
                sql_.Format("DSN=process;UID=''WD=' '");
                _bstr_t sql=sql_;
                //建立连接
                                m_DBCnt->Open(sql," "," ",-1);

//                m_DBCnt->Open("rovider=Microsoft.Jet.OLEDB.4.0;Data Source=process.mdb;","","",adModeUnknown);
        }
        catch(_com_error&e)
        {
                AfxMessageBox(e.ErrorMessage());
//                this->EndDialog(0);
        }       
        return CWinApp::InitInstance();
}

int CMytestApp::ExitInstance()
{
        // TODO: Add your specialized code here and/or call the base class
        if(m_DBCnt->State)
                m_DBCnt->Close();
        m_DBCnt= NULL;       
       
        return CWinApp::ExitInstance();
}
作者: shuoqi    时间: 2006-9-7 11:47
各位大侠,帮帮忙啊,我这数据库是加在数据源中的,怎么会不行呢?每次在ug中执行的时候,根本就打不开dll文件,ug就始终死在那个打开状态,这是怎么回事啊?愁死我了。
作者: suilj    时间: 2006-9-9 10:15
你先试着把这段代码放到一个普通MFC工程中试试
作者: shuoqi    时间: 2006-9-14 14:20
放到普通的里面没问题。发现,这个ado连接函数不能放到一个主cpp文件来统一调用,智能放到单个的cpp文件中来分别调用。




欢迎光临 iCAx开思工具箱 (https://t.icax.org/) Powered by Discuz! X3.3