- 3
- 0
- 约5.77千字
- 约 7页
- 2017-10-04 发布于重庆
- 举报
VC60中用ADO存取Access数据库的一点总结
事情是这样的,我的女朋友想要对日常生活的开销做个记录,以便控制花钱的尺度。看她每日用笔头记录,然后和我抢电脑用,曰:要用附件中的计算器统计结果,每每如此 ,不胜其烦,就给她做了一个个人家庭记帐系统,一劳永逸解决问题。期间用到了ADO操作Access数据库,在网上找了若干关于ADO的资料结合实践总结了一点使用心得如下 ,供有相同需求的朋友参考:附带了那个个人记帐系统,运行的界面如下:VC++下使用ADO编写数据库程序准备:(1)、引入ADO类
#import c:\program files\common files\system\ado\msado15.dll \
no_namespace \
rename (EOF, adoEOF)
(2)、初始化COM在MFC中可以用AfxOleInit();非MFC环境中用:
CoInitialize(NULL);
CoUnInitialize();
(3)#import 包含后就可以用3个智能指针了:_ConnectionPtr、_RecordsetPtr和_CommandPtr1.连接和关闭数据库 (1)连接 例子:连接Access数据库
m_pConnection.CreateInstance(__uuidof(Connection));
try
{
// 打开本地Access库Demo.mdb
m_pConnection-Open(Provider=Microsoft.Jet.OLEDB.4.0;DataSource=Demo.mdb,
,,adModeUnknown);
}
catch(_com_error e)
{
AfxMessageBox(数据库连接失败,确认数据库Demo.mdb是否在当前路径下!);
return FALSE;
}
(2)、关闭 //如果数据库连接有效
if(m_pConnection-State)
m_pConnection-Close();
m_pConnection= NULL;
(3)、设置连接时间 //设置连接时间-----------------------------------
pConnection-put_ConnectionTimeout(long(5));
2.打开一个结果集(1)打开,首先创建一个_RecordsetPtr实例,然后调用Open()得到一条SQL语句的执行结果
_RecordsetPtr m_pRecordset;
m_pRecordset.CreateInstance(__uuidof(Recordset));
// 在ADO操作中建议语句中要常用try...catch()来捕获错误信息,
// 因为它有时会经常出现一些意想不到的错误。jingzhou xu
try
{
m_pRecordset-Open(SELECT * FROM DemoTable,// 查询DemoTable表中所有字段
m_pConnection.GetInterfacePtr(), // 获取库接库的IDispatch指针
adOpenDynamic,
adLockOptimistic,
adCmdText);
}
catch(_com_error *e)
{
AfxMessageBox(e-ErrorMessage());
}
(2)关闭结果集
m_pRecordset-Close();
3.操作一个结果集(1)、遍历(读取)a)、用pRecordset-adoEOF来判断数据库指针是否已经移到结果集的末尾了;m_pRecordset-BOF判断是否 在第一条记录前面:
while(!m_pRecordset-adoEOF)
{
var = m_pRecordset-GetCollect(Name);
if(var.vt != VT_NULL)
strName = (LPCSTR)_bstr_t(var);
var = m_pRecordset-GetCollect(Age);
if(var.vt != VT_NULL)
strAge = (LPCSTR)_bstr_t(var);
m_AccessList.AddString( strName + -- +strAge );
m_pRecordset-MoveNext();
}
b)、取得一个字段的值的办法有两种办法一是//表示取得第0个字段的值
m_pRecordset-GetCollect(Name);
或者
m_pRecordset-GetCollect(_variant_t(long(0
您可能关注的文档
- 4液体压强和大气压强.doc
- 512汶川大地震公路工程灾后重建技术指南.doc
- 512汶川大地震纪念日活动策划书.doc
- 512汶川大地震纪念活动.doc
- 51单片机红外遥控单个键学习控制.doc
- 51单片机大容量数据存储器的扩展.doc
- 51CTO-ccna复习.doc
- 55a醋酸乙烯酯的溶液聚合.docx
- 555做大功率闪烁灯.doc
- 57楼装修做法2010611.doc
- 人工智能助力下的小学科学探究式个性化学习社区互动模式构建教学研究课题报告.docx
- 2026年智能家居十年发展:生活与家庭自动化报告.docx
- 高中生对学校科技创新实验室教学资源需求分析与优化教学研究课题报告.docx
- 高中化学有机合成与计算化学的课题报告教学研究课题报告.docx
- AI支持的初中语文整本书阅读教学课题报告教学研究课题报告.docx
- 初中地理教学中AI气候模型生态保护策略制定课题报告教学研究课题报告.docx
- 2024注册公用设备工程师(给水排水)《专业基础考试》真题及答案解析.docx
- 2026年低空经济与卫星通信十年技术演进报告.docx
- 2026年共享经济出行行业竞争格局报告.docx
- 2024河南特岗教师招聘考试真题及答案.docx
最近下载
- 基于灰色关联理论的广西农产品供应链影响因素分析.docx
- 关于绑架的小故事-绑架关起来的故事.docx VIP
- 游戏公司UI设计师面试题.docx VIP
- 基于模糊层次分析和灰色关联分析的供应商评价选择研究.pdf VIP
- 关于层次分析法和灰色关联分析法的研究详解.doc VIP
- 高考一轮复习讲义第一讲学生 三角函数的概念同角三角函数关系式与诱导公式.doc VIP
- 高考数学 一轮复习讲义 任意角的三角函数.docx VIP
- 国际贸易实务实训教程.pdf VIP
- 高考数学 一轮复习讲义 -简单的三角恒等变换.docx VIP
- 如果要写年(带歌词完整版毛不易2024春晚歌曲) 高清钢琴谱五线谱.docx VIP
原创力文档

文档评论(0)