VS2010操作Acess数据库
来源:互联网 发布:淘宝店铺首页装修方案 编辑:程序博客网 时间:2024/06/05 23:44
VS2010操作Acess数据库
1. 开发环境
- 编程环境 VS2010
- win7 64位、Acess2007
2. 基本功能实现
- 通过Ado编程、连接Acessss数据库。
3. 操作步骤
- 新建MFC工程SQLTest、在stdafx.h 里 #import “C:\Program Files\Common Files\System\ado\msado15.dll” no_namespace rename(“EOF”,”adoEOF”)(也可以将msado15.dll”复制到工程目录下,直接#import “msado15.dll”)
- 初始化COM组件
BOOL CSQLTestApp::InitInstance(){ if(CoInitialize(NULL)!=S_OK) { AfxMessageBox("初始化Com失败!") return false; } ``````}
- 结束实例时释放COM资源
int CSQLTestApp::ExitInstance(){ CoUninitialize();//释放COM资源 return CWinApp::ExitInstance();}
- 链接数据库
/**********************************************************************函数名: OpenConnect 打开数据库连接*参 数: username 用户名* password 密码* strPath 数据库保存路径*返 回 值: true 成功**********************************************************************/bool CAdoServer::OpenConnect(CString username, CString password, CString strPath){ //通过JET数据库引擎对ACCESS2000数据库的连接: CString lpszConnect= "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=";//64位 //lpszConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s"; 32位 lpszConnect+=strPath; m_hr = m_pConnection.CreateInstance("ADODB.Connection"); try { m_hr = m_pConnection->Open(_bstr_t(lpszConnect),(_bstr_t)username,(_bstr_t)password,adModeUnknown); //连接数据库 if(SUCCEEDED(m_hr)) { m_hr = m_pRecordset.CreateInstance(__uuidof(Recordset));//创建记录集对象实例 } } catch (_com_error e) { CString err; err.Format("<提示:>连接错误!\r\n错误信息:%s:",e.ErrorMessage()); AfxMessageBox(err); return false; } m_IsConnectSucess = true; //数据库连接成功 return true;}
- 打开记录集(执行SQL语句)
bool CAdoServer::OpenRecordset(_bstr_t sql){ try { ColseRecordset(); m_hr = m_pRecordset->Open((_variant_t)sql,_variant_t((IDispatch *)m_pConnection,true),adOpenStatic,adLockOptimistic,adCmdText); } catch (_com_error e) { CString str; str.Format("<提示:>执行Oracle命令出现错误,错误原因:%s",e.ErrorMessage()); AfxMessageBox(str); return false; } m_IsConnectSucess = true; //数据库连接成功 return true;}
- 关闭记录集
void CAdoServer::ColseRecordset(void){ if(m_pRecordset->GetState() ==adStateOpen) //判断当前记录集状态 { m_pRecordset->Close(); //关闭记录集 } m_IsOpenRecordset = false; //记录集关闭状态}
- 关闭数据库连接
void CAdoServer::CloseConnect(void)
{
m_pConnection -> Close(); //关闭数据库连接
m_IsConnectSucess = false; //数据库关闭
}
注释:两个智能指针
_ConnectionPtr m_pConnection; // 连接对象
_RecordsetPtr m_pRecordset; // 记录集对象
基本执行步骤:
初始化COM->OpenConnect(连接数据库)->OpenRecordset(执行SQL语句)->ColseRecordset->CloseConnect->释放COM
4. 总结
- 这里只是介绍了一种连接与操作数据库的方法,简单的操作步骤大致如上。其实完全可以自己封装成一个类,根据需要添加功能。
- 关于SQL语句,后续会更新总结。
阅读全文
0 0
- VS2010操作Acess数据库
- ASP操作ACESS数据库
- ADO操作ACESS数据库
- VC++ ACESS操作
- C#连接Acess数据库
- C# 创建Acess数据库
- VB创建Acess数据库
- Java 连接Acess 数据库
- vs2008连接Acess数据库
- NHibernate连接Acess数据库配置
- Acess数据库的一点总结
- acess数据库like通配符注意事项
- ACESS数据库与WEB页连接
- C#连接acess数据库(初级)
- ACESS 数据库如何使用SQL语句
- ACESS数据库增加删除记录问题
- 关于acess数据库的SQL语法问题
- c++ ADO连接ACESS 2007 数据库
- Struts2+Spring集成合并
- codeforces 840D Destiny 主席树
- raft理解
- spring
- 运行springBoot的三种方式
- VS2010操作Acess数据库
- jQuery简单动画效果和动画队列
- 归档命令(5)——shar
- iava 实现将office 文件转成pdf
- Apache Drill学习文档尝试翻译之Parquet格式数据转换
- memcached编译安装
- Spark性能优化总结
- jdk安装的环境变量的设置(最实用最全)
- zw