按照教材上说的:
BOOL CADOTest1Dlg::OnInitDialog()
{
CDialog::OnInitDialog();
HRESULT hr;
try
{
hr = m_pConnection.CreateInstance("ADODB.Connection");///创建Connection对象
if(SUCCEEDED(hr))
{
hr = m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=test.mdb","","",adModeUnknown);///连接数据库
//上面一句中连接字串中的Provider是针对ACCESS2000环境的,对于ACCESS97,
//需要改为:Provider=Microsoft.Jet.OLEDB.3.51;
}
}
catch(_com_error e)///捕捉异常
{
CString errormessage;
errormessage.Format("连接数据库失败!rn错误信息:%s",e.ErrorMessage());
AfxMessageBox(errormessage);///显示错误信息
} 我写了以上代码,编译后出现问题:
1>d:\my documents\visual studio 2008\projects\learning access\learning access\learning access.cpp(45) : error C2065: “m_pConnection”: 未声明的标识符
我已经在stdAfx.h中写了
#import "c:\program files\common files\system\ado\msado15.dll" \
no_namespace \
rename ("EOF", "adoEOF")
怎么解决呢?急!!!
BOOL CADOTest1Dlg::OnInitDialog()
{
CDialog::OnInitDialog();
HRESULT hr;
try
{
hr = m_pConnection.CreateInstance("ADODB.Connection");///创建Connection对象
if(SUCCEEDED(hr))
{
hr = m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=test.mdb","","",adModeUnknown);///连接数据库
//上面一句中连接字串中的Provider是针对ACCESS2000环境的,对于ACCESS97,
//需要改为:Provider=Microsoft.Jet.OLEDB.3.51;
}
}
catch(_com_error e)///捕捉异常
{
CString errormessage;
errormessage.Format("连接数据库失败!rn错误信息:%s",e.ErrorMessage());
AfxMessageBox(errormessage);///显示错误信息
} 我写了以上代码,编译后出现问题:
1>d:\my documents\visual studio 2008\projects\learning access\learning access\learning access.cpp(45) : error C2065: “m_pConnection”: 未声明的标识符
我已经在stdAfx.h中写了
#import "c:\program files\common files\system\ado\msado15.dll" \
no_namespace \
rename ("EOF", "adoEOF")
怎么解决呢?急!!!
检查有没有包含头文件
_ConnectionPtr m_pConnection;
编译后提示有重定义,然后我又把这句删掉,再编译居然通过了,没有一个错误,但是一运行,结果是:
连接数据库失败!
错误信息:未指定的错误。
这又是为什么啊?
是不是vs2008的问题?
{
AfxMessageBox(e.Description());///显示错误信息
}
看看出错信息
catch(_com_error e)///捕捉异常
{
AfxMessageBox(e.Description());///显示错误信息
}
运行后出现提示为:
找不到可安装的ISAM。
急啊,大大们请多多留言。
看这里
http://blog.csdn.net/zyq5945/archive/2010/05/13/5586423.aspx