MFC使用ADO连接SQL Server
2015-12-14 17:11
369 查看
一、背景介绍
自动化等专业做简单应用,使用MFC还是很普遍的,连接数据库的方式也很多多种多样,这里主要介绍使用ADO方式连接数据库,数据库以SQL server 2008为例。二、ADO连接数据库
1.在stdafx.h**最后*加上#import “c:\program files\common files\system\ado\msado15.dll” no_namespace rename(“EOF”, “adoEOF”),实现对支持ADO的组件类型库(.tlb)的引用。2.新建一个C++类,Adosql,在类申明文件Adosql.h,声明以下变量和函数:
_ConnectionPtr m_pConnection; // 数据库 _RecordsetPtr m_pRecordset; // 命令 _CommandPtr m_pCommand; // 记录 void OnInitADOConn(); void ExitConnect();
在类实现文件Adosql.cpp中编写void OnInitADOConn(), void ExitConnect()函数:
void Adosql::OnInitADOConn()
{
::CoInitialize(NULL);
try
{
m_pConnection.CreateInstance(“ADODB.Connection”);
_bstr_t strConnect=”Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=goodsinfo;Data Source=.”;
m_pConnection->Open(strConnect,”“,”“,adModeUnknown);
AfxMessageBox(_T(“连接成功”));
}
catch(_com_error e)
{
AfxMessageBox(_T(“连接失败”));
}
}
void Adosql::ExitConnect()
{
if(m_pRecordset!=NULL)
m_pRecordset->Close();
m_pConnection->Close();
::CoUninitialize();
}
3.在需要连接数据库的文件包含Adosql.h,实例化对象进行使用。
三、连接字符串说明
”Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=goodsinfo;Data Source=.”如何实现用变量代替字符串中的值,没找到什么好方法,我用的最笨的方法就是进行字符串分割后再连接,如:_bstr_t Initial,Catalog, Data,Source,a,User,ID,Pass,word; User=";User ID="; ID=dbDlg.m_Username; Pass=";Password="; word=dbDlg.m_Password; Initial=";Initial Catalog="; Catalog=dbDlg.m_DBname; Data=";Data Source="; Source=dbDlg.m_IP; a="Provider=SQLOLEDB.1;Persist Security Info=False"; strConnect=a + User + ID + Pass + word + Initial + Catalog + Data + Source; mysql.m_pConnection->Open(strConnect,"","",adModeUnknown);
参考文献
本文参考了秋日情思的博客以及百度知道的一些内容。相关文章推荐
- 推荐Sql server一些常见性能问题的解决方法
- SQL Server存储过程的基础说明
- VB语言使用ADO连接、操作SQLServer数据库教程
- VB使用ADO操作Access数据库
- ADO存取数据库时如何分页显示
- SQL Server下几个危险的扩展存储过程
- 如何在SQL Server 2008下轻松调试T-SQL语句和存储过程
- SQL Server中选出指定范围行的SQL语句代码
- Visual C++中MFC消息的分类
- 一些SQL Server存储过程参数及例子
- SQL Server优化50法汇总
- MFC中Radio Button的用法详解
- MFC对话框中添加状态栏的方法
- MFC创建右键弹出菜单的方法
- MFC中动态创建控件以及事件响应实现方法
- C++ 关于MFC多线程编程的注意事项
- MFC程序对文件的处理方法
- MFC自定义消息的实现方法
- MFC实现在文件尾追加数据的方法
- MFC之ComboBox控件用法实例教程