- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VC结合Access制作通讯录程序
2009年09月29日 来源:博客园 作者:苏伟
设计思路:
分层:界面层,数据访问层,数据库;数据访问层的作用是为界面层提供一个数据访问接口,隔离界面层和数据库;界面层不需要知道采用的哪种数据库,只需要调用数据访问层提供的接口来完成各种操作;
1.新建一个基于对话框的MFC程序,命名CallList
2.设计程序界面如下图:
3.数据访问层的实现:
在StdAfx.h中添加#import c:\Program Files\CommonFiles\System\ADO
\msado15.dllno_namespace rename(EOF, EndOfFile
新建一个类CDataSource,作用是封装数据层,定义如下
class CDataSource
{
public:
//当前记录指针是否到了所有记录之后
BOOL IsEOF(;
//当前记录指针是否到了所有记录之前
BOOL IsBOF(;
//删除当前记录
void Delete(;
//设置FieldName字段的值为Value(int型)
void SetAsInteger(CString FieldName, int Value;
//设置FieldName字段的值为Value(CString型)
void SetAsString(CString FieldName, CString Value;
//将记录的修改更新到数据库中
void Update(;
//新增一条记录
void New(;
//得到FieldName字段的值(int型)
int GetAsInteger(CString FieldName;
//得到FieldName字段的值(CString型)
CString GetAsString(CString FieldName;
//当前记录指针是否到了最后一条记录
BOOL IsLast(;
//当前记录指针是否到了第一条记录
BOOL IsFirst(;
//移动当前记录指针到下一条记录
void MoveNext(;
//移动当前记录指针到上一条记录
void MovePrev(;
//移动当前记录指针到最后一条记录
void MoveLast(;
//移动当前记录指针到第一条记录
void MoveFirst(;
//初始化数据
void InitData(;
CDataSource(;
virtual ~CDataSource(;
private:
int m_MaxID;
_RecordsetPtr m_pRecordset;
_ConnectionPtr m_pConn;
//释放数据
void FreeData(;
};
该类对外提供的方法是一些基本数据库操作,用户可根据需要进行添加。
4.对各种方法的实现,本例中采用的是ADO访问,所以定义了m_pConn和m_pRecordset两个对象。
实现InitData,作用是初始化数据库访问模块,包括数据库连接的初始化、记录集的初始化和当前数据库中最大ID的初始化,实现代码为:
void CDataSource::InitData(
{
//初始化Com对象,为使用ADO做准备
CoInitialize(NULL;
//初始化连接对象
m_pConn.CreateInstance(ADODB.Connection;
//初始化记录集对象
m_pRecordset.CreateInstance(ADODB.Recordset;
try
{
//打开数据库连接
m_pConn-Open(Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Demo.mdb;Persist Security Info=False, , , adConnectUnspecified;
//初始化m_MaxID
m_pRecordset-Open(Select Max(ID as MAXID From Profile, _variant_t(m_pConn, true, adOpenStatic, adLockOptimisti
您可能关注的文档
最近下载
- 2025年中级经济师《运输经济专业知识与实务》全真模拟卷.pdf VIP
- 人教版(25秋新教材)八年级上册英语Unit 3《Same or Different》全单元教学课件.pptx
- 消化道出血的急救与护理课件.pptx VIP
- 第15讲 椭圆的共轭直径(解析几何)(解析版)》.pdf VIP
- 临床工作中科研与创新思维的建立.ppt VIP
- 酒店治安管理制度及应急预案.docx VIP
- 中国民营经济发展报告(上下册).doc VIP
- 语文人教版五年级下册草船借箭的教学设计.doc VIP
- 体育与健康《田径--投掷》大单元教学计划(18课时).pptx VIP
- 抗震加固工程施工方案.pdf VIP
文档评论(0)