我做了一个 vc6.0 访问 access 的程序,在本机运行正常,可是把做好的 程序及 mdb 文件复制到其它机子上,运行不了,显示 m_pConnection.CreateInstance("ADODB.Connection"); 创建不成功
注明:其它机子没安装 vc6.0//代码是这样的在 stdafx.h 中#import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF","adoEOF")在 CTest01App 定义中public: _ConnectionPtr m_pConnection;
_RecordsetPtr m_pRecordset; char ProFolder[256];  //  应用程序所在的文件夹在 InitInstance() 中BOOL CTest01App::InitInstance()
{
AfxEnableControlContainer();    ///////////////////下面得到应用程序所在的路径///////////////////  ::GetModuleFileName(NULL,ProFolder,256);
int len=strlen(ProFolder);
for(int i=len-1;i>0;i--)
if(ProFolder[i]=='\\')
{
ProFolder[i]=0; break;
}
//初始化com环境
::CoInitialize(NULL);
//创建连接对象和记录集对象
HRESULT hr;
try
{
AfxOleInit();
hr = m_pConnection.CreateInstance("ADODB.Connection");//创建Connection对象
if(SUCCEEDED(hr))
{ CString databasename=ProFolder;
databasename+="\\cjgl.mdb";
CString connStr;
connStr.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s",databasename); hr = m_pConnection->Open(_bstr_t(connStr),"","",adModeUnknown);///连接无密码数据库

}
else
{
AfxMessageBox("m_pConnection.CreateInstance('ADODB.Connection') 创建失败");
return FALSE;
}
}
catch(_com_error e)///捕捉异常
{
CString errormessage;
errormessage.Format("连接数据库失败!\r\n错误信息:%s",e.ErrorMessage());
AfxMessageBox(errormessage);///显示错误信息
}
if (FAILED(m_pRecordset.CreateInstance(__uuidof(Recordset))))
{
AfxMessageBox("Create Instance failed!");
return FALSE;
}
..................
return TRUE;
}
access数据库vc6.0

解决方案 »

  1.   

    你装止圣应牒一的OFFICE,要完全安装,不要精简安装.同时,你的程序要静态编绎,不要动态编绎,如果还不行,就下载个VC6的运行库安装到目标机上
      

  2.   

    可以用ADO助手试试,估计是ADO没有注册或者或者ADO版本和开发机的不一致。
    从开发机把ADO拷贝过去,用regsvr32注册下。
      

  3.   


    不用ado 用mfc odbc类
      

  4.   

    我把我机子上的 msado15.dll
    替换目标机子上的  msado15.dll
    再到目标机子上 c:\program files\common files\system\ado\目录下运行
    regsvr32 msado15.dll 
    显示 msado15.dll 非可执行程序,无效,是什么原因
      

  5.   

    访问Access与是否装Access无关吧,会不会是没有用Release组建?
      

  6.   

    有台机子按下面操作完成,
    将解压的msado15.dll文件剪切放在以下目录
    C:\Program Files\Common Files\System\ado
    然后运行注册ADO:
          1.单击“开始”->“运行”
          2.输入  REGSVR32 "C:\Program Files\Common Files\System\ado\msado15.dll"
          3.单击“确定”按钮   提示成功
    结果还是运行不了
    显示 m_pConnection.CreateInstance("ADODB.Connection"); 创建不成功