MFC开发之使用ADO连接SQL Server

“观千剑而后视器,操千曲而后晓声。”——《文心雕龙》

最近在学C++一个框架——MFC,犯难了,搞了一周,阅读了不下百篇博主的文章,还询问了老师,重装了VS(甚至2017,2019,2022装了一遍)与SQL server,借了室友的两台电脑,终于把问题解决了!!!现在把问题整理,分享给大家,希望大家不要重蹈我的覆辙。

  1. 第一类问题也是最低级的问题,查询语句的字符串里面的字段与数据库表里面的字段是否一样,看一下下面这位同学:

    640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1

  2. 第二类问题是SQL Server设置的问题:

    2.1 SQL server进程有没有打开

    2.2 是不是Windows与SQL server双重身份验证

    2.3 是不是该实例下的sa登录(大部分同学应该不会出现该问题),见下图

 

640?wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1

如果一台服务器存在多个实例名,数据源上要加上实例名。那么我们的最后的问题就来了,就是关于连接数据库的时候,连接语句字符串的问题。

3.第三类问题连接语句问题:

640?wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1

 

CString str = _T("Provider=SQLOLEDB.1;"                  "Password=123;"                  "Persist Security Info=True;"                  "User ID=sa;"                  "Initial Catalog=HomanSys;"                  "Data Source=LAPTOP-5CSJ9AC0\\SQLEXPRESS"                  );
  m_pCon->Open(_bstr_t(str),_bstr_t(_T("")),_bstr_t(_T("")),adConnectUnspecified);

带实例名一定要记得带双反斜线!!!还有就是登录名、密码、数据库与SQL server里面的对不对的上。

最后就是关于MFC结构的理解了:

老式的结构有stdafx.h头文件,而我们采用pch.h来代替它帮助我们引入ado组件

  •  
#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","adoEOF") rename("BOF","adoBOF")

然后再在XX.cpp的InitInstance()函数下初始化我们的COM组件。

最后添加ADOconnection类,目的是每次对数据库进行操作时直接调用即可,不用每次都重新把代码写一遍。

大体整理总结了一下其结构:

640?wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1

最后就是MFC 组件以及底层的问题,它是微软的基础类库,现阶段不需要深究,遇到相应的数据类型可以查一下,毕竟封装的很好了,直接拿过来用就好了!

“人生万事须自为,跬步江山即寥廓。”

下期见!

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值