c:\program files\microsoft visual studio\vc98\mfc\include\afxv_w32.h(14) : fatal
看到一本书上这样写,把对数据库的操作写成一个类,然后直接调用就行了,可是我这里怎么出错了,我在stdafx。h中已经导入了库#import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF","adoEOF")在说明一点,我用的是静态编译
这是类中的一些函数:
void ADOConn::OnInitADOConn()
{
//初始化OLE/com库环境
::CoInitialize(NULL);
try
{
m_pConnection.CreateInstance("ADODB.Connection");
//设置连接字符串,必修是BSTR型或者_bstr_t类型
_bstr_t strConnect="Provider=SQLOLEDB;Server=HAPPY-MMNL94o2E\OPENSURF;Database=HR;\
uid=HAPPY-MMNL94o2E\Adinistrator;pwd=111111";
//server和uid、pwd的设置根据实际情况来设定
m_pConnection->Open(strConnect,"","",adModeUnknown);
}
catch(_com_error e)
{
AfxMessageBox(e.Description());
}
}
//执行查询
_RecordsetPtr& ADOConn::GetRecordSet(_bstr_t bstrSQL)
{
try
{//连接数据库,如果Connection对象为空,则重新连接数据库
if(m_pConnection==NULL)
OnInitADOConn();
//创建记录集对象
m_pRecordset.CreateInstance(_uuidof(Recordset));
//取得表中的记录
m_pRecordset->Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,
adCmdText);
}
catch(_com_error e)
{
AfxMessageBox(e.Description());
}
//返回记录集
return m_pRecordset;
}
//执行sql语句,Insert Update _variant_t
BOOL ADOConn::ExecuteSQL(_bstr_t bstrSQL)
{
try{
//是否连接数据库
if(m_pConnection==NULL)
OnInitADOConn();
m_pConnection->Execute(bstrSQL,NULL,adCmdText);
return true;
}
catch(_com_error e)
{
AfxMessageBox(e.Description());
return false;
}
}
void ADOConn::ExitConnect()
{
if(m_pRecorset!==NULL)
m_pRecordset->Close();
m_pConnection->Close();
//释放环境
::CoUninitialize();
}
错误提示:c:\program files\microsoft visual studio\vc98\mfc\include\afxv_w32.h(14) : fatal error C1189: #error : WINDOWS.H already included. MFC apps must not #include <windows.h>
[ 本帖最后由 ljt 于 2010-9-16 17:24 编辑 ]