今天连接SQL Server数据库碰到一个没用碰到过的问题,虽然解决了,但不懂为什么,所以贴出来,希望前辈高手们解答下疑问!
我的初始化数据库的代码如下:
void CADO::OnInitADOConn()
{
::CoInitialize(NULL); //初始话COM环境
try
{
m_pCon.CreateInstance("ADODB.Connection"); //创建连接
_bstr_t strConnect ="Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=Library;Data Source=SAM-PC\\SQL2005"; //
m_pCon->Open(strConnect,"","",adModeUnknown); //打开数据库
}
catch (_com_error e) //捕捉错误
{
AfxMessageBox(e.Description()); //弹出错误
}
m_pCon.CreateInstance("ADODB.Connection"); //创建连接 // 开始调试时 执行完这条语句后,返回 m_pCon的句柄是空,所以下面打开数据库是失败的
我的解决办法是 在 stdafx.h 头文件里 加入了 该实现文件的头文件 ADO.h 在编译 调试运行 就没问题了。