开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 3365|回复: 1
打印 上一主题 下一主题
收起左侧

[其它数据库例题] VC用ODBC连接Access数据库图文全解

[复制链接]

结帖率:61% (35/57)
跳转到指定楼层
发表于 2013-2-3 17:53:10 | 只看该作者 回帖奖励 |正序浏览 |阅读模式   海南省海口市
现在我们就开始介绍VC如何通过ODBC数据源来连接Access数据库的过程:包括从数据源的创建到VC代码的实现。
1.首先在控制面板中,打开ODBC数据源,点击用户DSN选项,在出现的界面中点击添加,如下图所示:

然后,点击完成按钮,出现下图,填入数据源名(可随意取名,本处设为biao)。

点击确定即可。
2.在ACCESS中创建数据库,本例中为data(只包含 number,name,score三列),可从我提供的这个例子下COPY。
3.建立应用程序项目
(1)打 开File 菜 单 的New 选 项, 选 取Projects,选择MFC AppWizard (exe),填 入 工 程 名,本例为DATA1。
(2)把数据库文件 data拷入新建的工程目录。
(3)应用程序的类型指定为SDI,在Step2 对话框中选择Header Files Only选项,在Step6是将视图基类指定为CScrollView。
(4)用ClassWizard 创建记录集类。从Add Class菜单中选择New,并按下图填充对话框:(说明:一个CRecordset对象代表从数据源中查询的一个记录集。)

(5)点击OK,进入Data Source,选择biao数据源,并选择Dynast选项,如下图所示:

在选择了数据源之后,ClassWizard提示我们选择一个表。如下图所示:

(6)在ClassWizard中,针对新产生的CDataSet类,单击Member Variables标签。此时ClassWizard 应按照数据库列的名称产生了如下的数据成员:

(7)在CData1View类中添加数据成员。

(8) 在Cdata1Doc中添加如下成员:

(9)编辑DATA1View.cpp中的OnDraw() 和OnInitialUpdate()函数:

    void CDATA1View::OnDraw(CDC* pDC)  

  • {  

  • CDATA1Doc* pDoc = GetDocument();  

  • ASSERT_VALID(pDoc);  

  • // TODO: add draw code for native data here  

  • TEXTMETRIC tm;  

  • pDC->GetTextMetrics(&tm);  

  • int nLineHeight=tm.tmHeight+tm.tmExternalLeading;  

  • CPoint pText(0,0);  

  • int y = 0;  

  • CString str;  

  • if (m_pSet->IsBOF()) { // detects empty recordset  

  • return;  

  • }  

  • m_pSet->MoveFirst(); // fails if recordset is empty  

  • while (!m_pSet->IsEOF()) {  

  • pDC->TextOut(pText.x, pText.y, m_pSet->m_number);  

  • pDC->TextOut(pText.x+1000, pText.y, m_pSet->m_name);  

  • pDC->TextOut(pText.x+4000, pText.y, m_pSet->m_score);  

  • m_pSet->MoveNext();  

  • pText.y -= nLineHeight;  

  • }  

  • }  

  • void CDATA1View::OnInitialUpdate()  

  • {  

  • CScrollView::OnInitialUpdate();  

  • CSize sizeTotal(8000, 10500);  

  • SetScrollSizes(MM_HIENGLISH, sizeTotal);  

  • m_pSet = &GetDocument()->m_dataSet;  

  • if (m_pSet->IsOpen()) {  

  • m_pSet->Close();  

  • }  

  • m_pSet->Open();  
  • }
(10)data1View.cpp 中加入#include "dataSet.h"。
(11)编译结果应如下所示:

关于VC连接数据库的问题我们还会在以后的文章中继续介绍,本文就介绍到这里,谢谢大家的支持。

结帖率:37% (7/19)
楼主
发表于 2013-2-11 10:29:14 | 只看该作者   北京市北京市
VB不懂啊         
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:[email protected]
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表