首页 > 代码库 > VS2010连接数据库的操作(SQLServer2005/2008 以及Access2007/2003等)

VS2010连接数据库的操作(SQLServer2005/2008 以及Access2007/2003等)

1.首先建立一个数据库文件

2.打开VS2010/VS2012/VS2013

3.建立一个工程名字叫做***

4.看到状态栏:工具->连接到数据库


3.


4.


5.点击高级,把DataSource的内容和Provider的内容复制到 _bstr_t strConnect ="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:/graduation project/HouseRealty/Limite.mdb;Persist Security Info=False";//access2007(添加过ADO类的前提下,下面会讲到怎么添加ADO类)


6.添加ADO类,项目->添加类(添加C++类,不是基于MFC的类),名字叫做CADOConn


7.下面为ADOConn类添加代码

(1)先在StdAfx.h文件中添加代码,导入ADO库

#ifndef _AFX_NO_AFXCMN_SUPPORT
#include <afxcmn.h>             // MFC 对 Windows 公共控件的支持
#import "C:\\Program Files\\Common Files\\System\\ado\\msado15.dll" no_namespace rename("EOF","adoEOF")rename("BOF","adoBOF")
#endif // _AFX_NO_AFXCMN_SUPPORT
#include <afxcontrolbars.h>     // 功能区和控件条的 MFC 支持
#endif
#endif
(2)在ADOConn.h文件中添加:

class CADOConn
{
public:
CADOConn(void);
~CADOConn(void);
_RecordsetPtr m_pRecordset;//记录集指针
_ConnectionPtr m_pConnection;
void OnInitADOConn();//连接数据源
_RecordsetPtr& GetRecordset(_bstr_t bstrSQL);//获取打开的记录集指针
BOOL ExecuteSQL(_bstr_t bstrSQL);//执行SQL语句
void ExitConnect();//断开数据连接
};

(3)在ADOConn.cpp中添加

#include "StdAfx.h"
#include "ADOConn.h"




CADOConn::CADOConn(void)
{
}




CADOConn::~CADOConn(void)
{
}
void CADOConn::OnInitADOConn()
{
::CoInitialize(NULL);
try
{
        m_pConnection.CreateInstance("ADODB.Connection");
// _bstr_t strConnect="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Limite.mdb";//.mdb放在工程目录下  access2003 
_bstr_t strConnect ="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:/graduation project/HouseRealty/Limite.mdb;Persist Security Info=False";//access2007
m_pConnection->Open(strConnect,"","",adModeUnknown);

// AfxMessageBox("数据库连接成功");
}
catch(_com_error e)
{
AfxMessageBox("连接失败");
}


}
void CADOConn::ExitConnect()
{
if(m_pRecordset!=NULL)//关闭记录集和断开数据源链接
m_pConnection->Close();
::CoUninitialize();//释放COM环境

}
_RecordsetPtr& CADOConn::GetRecordset(_bstr_t bstrSQL)
{
//打开记录集,返回记录集指针
try
{
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("记楼盘数据打开失败");
}
return m_pRecordset;

}
BOOL CADOConn::ExecuteSQL(_bstr_t bstrSQL)
{
try
{
if(m_pConnection==NULL)
OnInitADOConn();
m_pConnection->Execute(bstrSQL,NULL,adCmdText);
return true;
}
catch (_com_error e)
{
AfxMessageBox("不能打开楼盘数据");
return false;
}
}

8.经过以上步骤,VS连接数据库大致就可以成功了。






















VS2010连接数据库的操作(SQLServer2005/2008 以及Access2007/2003等)