MFC与SQL Sever的连接

 MFC与SQL Sever的连接方式有多种,我用的是ADO

1.首先要导入ADO动态链接库:

在stdafx.h头文件中导入如下:

#import "C://Program Files//Common Files//System//ADO//msado15.dll" rename("EOF","adoEOF") 

如果这样vs提示报红,或者在以后的connect类型不能识别,或者编译时不能通过,则在c盘中按照上述路径找到msado.dll的文件,复制都当前项目文件夹下,我当时在Debug下保存,这样及OK了:

# import "F://StudentControl//Debug//msado15.dll" no_namespace rename("EOF","adoEOF")

2.使用connection连接对象进行连接,但是首先保证你的数据库的自启动服务要开启,并且你的数据库要允许远程连接,这两点可以自行百度,一般都没问题,我就不必赘述

先在Dlg.cpp中定义全局变量:

_ConnectionPtr m_pConnection; //利用ADO操作数据库的操作,创建一个连接对象

如果其他的cpp文件需要连接数据库,直接在其他的cpp中定义 :extern 全局变量就可以直接连接上

3.在Dlg.cpp的初始化函数中添加如下:


													
	AfxOleInit();//在基于MFC的应用里,在应用类的InitInstance成员函数中初始化OLE/COM库环境,直接使用AfxOleInit,在退出应用时,该函数自动负责COM资源的释放,比较方便;               	HRESULT hr;
	m_pConnection.CreateInstance("ADODB.Connection");//创建一个实例
 //设置连接字符串,Provider=SQLOLEDB.1连接驱动,Initial Catalog=要连接的数据库名,Intergrated  Security Info为FALSE是SQL身份验证登录 User ID是数据库用户名 PassWord是SQL身份验证的登陆密码 DATA Source是你的电脑名
	try
	{
               	_bstr_t strConnect = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Password=331146576;Initial Catalog=Studb;Data Source=DESKTOP-4LMD8LL";//初始化连接 
                //调用open函数 
		hr = m_pConnection->Open(strConnect, "", "", adModeUnknown);     //打开数据库
		if (FAILED(hr))
		{
			AfxMessageBox(_T("与数据库连接失败!"));
		}
	}
	catch (_com_error e)                                                 //捕获异常
	{
		AfxMessageBox(e.Description());                    //异常的描述
	}

  链接:   MFC对数据库的增删查改

发布了37 篇原创文章 · 获赞 12 · 访问量 9266

猜你喜欢

转载自blog.csdn.net/weixin_43265881/article/details/95954555