我已经在StdAfx.h加入(我的project是single Document)
“#import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF","adoEOF") rename("LockTypeEnum","newLockTypeEnum") rename("DataTypeEnum","newDateTypeEnum") rename("FieldAttributeEnum","newFieldAttributeEnum") rename("EditModeEnum","newEditModeEnum") rename("RecordStatusEnum","newRecordStatusEnum") rename("ParameterDirectionEnum","newParameterDirectionEnum")”
我在CwinAPP的OnInitDialog()中也已经{AfxOleInit();...}了,我在CXXXDialog:OnInitDialog()中也加入如下代码:{
CDialog::OnInitDialog(); AfxEnableControlContainer();
m_pConnection.CreateInstance("ADODB.Connection");
try
{
m_pConnection->ConnectionTimeout = 8;
m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=studentinformation","","",adModeUnknown);
}
catch(_com_error e)
{
AfxMessageBox("连接数据库失败!");
return FALSE;
}
.....
}为什么就总是“连接数据库失败!!!!对于数据库表的存放地点有什么要求?要不要在ODBC上添加?
“#import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF","adoEOF") rename("LockTypeEnum","newLockTypeEnum") rename("DataTypeEnum","newDateTypeEnum") rename("FieldAttributeEnum","newFieldAttributeEnum") rename("EditModeEnum","newEditModeEnum") rename("RecordStatusEnum","newRecordStatusEnum") rename("ParameterDirectionEnum","newParameterDirectionEnum")”
我在CwinAPP的OnInitDialog()中也已经{AfxOleInit();...}了,我在CXXXDialog:OnInitDialog()中也加入如下代码:{
CDialog::OnInitDialog(); AfxEnableControlContainer();
m_pConnection.CreateInstance("ADODB.Connection");
try
{
m_pConnection->ConnectionTimeout = 8;
m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=studentinformation","","",adModeUnknown);
}
catch(_com_error e)
{
AfxMessageBox("连接数据库失败!");
return FALSE;
}
.....
}为什么就总是“连接数据库失败!!!!对于数据库表的存放地点有什么要求?要不要在ODBC上添加?
在ExitInstance中加入CoUninitialize(NULL)
还要取得调用的那个智能指针的地址
如:
_rePtr.CreateInstance(__uuidof(Recordset))