最近要做一个大作业,需要用到数据库,sql server装了两次都失败,遂弃暗投明,用mysql,虽然我从来没有接触过,数据库么,一通百通的,5分钟就熟悉了。问题的关键是要用MFC连接mysql数据库,将数据库里面的数据读出来,查了一个晚上的资料,愣是没有搞定。连接数据库太烦了吧……

如果你也跟我一样,没有专研精神,只是想快速的完成任务,这篇文章就是写给你的,不用找了,这已经是相对很简单的方法了。

MFC连接数据库常用的方法有三种:

1.ODBC

2.MFC数据库类

3.DAO数据库

本文采用第二种方法(据说第三种方法最简单,管他呢,MFC数据库类已经很白痴了)

首先配置DSN,方法如下:

注意:你电脑上很可能没有MySql ODBC 3.5 Driver这一项,也就是说我们没有装驱动,去下载一个就好了,很小&&免费:http://ishare.down.sina.com.cn/18810049.msi?ssig=3NTFUcCBfX&Expires=1319731200&KID=sina,ishare&ip=1319622288,59.77.16.

第二步:

新建一个MFC应用程序,然后随便弄个鼠标响应事件或者菜单响应事件什么的。添加如下代码:

try

{

CDatabase db;

if( db.Open("noahsample"))

{db.ExecuteSql("insert into UserMaster values( 'TestID' , 'Test User Name' , 0)");

db.Close();

}

}

catch (CDBException* e)

{

AfxMessageBox( e->m_strError);

e->Delete();

}具体的SQL语句根据你的字段不同而不同啦,然后去数据库看一下数据插入了没有,如果插入了,恭喜你,MFC连接数据库最头疼的部分搞定了,接下来的事情就是查一下MFC类库,进行响应操作而已,很easy。

第三步:查询数据

其实有了上面那几行代码进行增删改都没有问题了,下面讲解一下查询数据。

MFC提供了一个CRecordset对象,(用以代表一个表,我是这么理解的,事实也是这样的),我们可以通过类向导新建一个代表一张表的CRecordset类。方法如下:

这里关键是基类要选择CRecordSet,然后进入如下页面

“noahsample”是之前配置DSN的时候定义的名字。

选择相应的表,这样就完成了一个CRecordset类的定义,该类就代表的那张表。如下查询语句相应大家一看就懂。什么?看不懂?难道你是安师大计算机专业毕业的?

void CDatabaseDlg::OnBtnSave()

{

try

{

CDatabase db;

if( db.Open("noahsample"))

{UpdateData(TRUE);

//CString sql;

//sql.Format("insert into test values ( %d , '%s')", m_nUserID , m_strUserName);

//db.ExecuteSQL(sql);

CTestDBSet *pCTestDBSet = new CTestDBSet();

pCTestDBSet->Open(CRecordset::snapshot , "select * from test");

CString result = _T("学号\t姓名\n");

while( ! pCTestDBSet->IsEOF())

{

CString str;

str.Format("%d \t%s\n" , pCTestDBSet->m_num , pCTestDBSet->m_name);

result += str;

pCTestDBSet->MoveNext();

}

MessageBox( result );

//db.ExecuteSQL("insert into test values( 3, 'laimingxing')");

db.Close();

}

}

catch (CDBException* e)

{

AfxMessageBox( e->m_strError);

e->Delete();

}

}

分享到:

2011-10-26 20:30

浏览 639

评论

mfc远程连接mysql数据库连接_MFC连接mysql数据库(十分钟搞定)相关推荐

  1. windows+mysql集群搭建-三分钟搞定集群

    一.集群了解 计算机一级考试系统要用集群,目标是把集群搭建起来,保证一个库dang了,不会影响程序的运行.首先看了一些关于集群的资料,然后根据步骤一步步的整,遇到了一些问题,在这里把我遇到的问题以及解 ...

  2. mysql降低数据库版本_三步10分钟搞定数据库版本的降迁 (将后台数据库SQL2008R2降为SQ...

    三步10分钟搞定数据库版本的降迁 (将SQL2008R2降为SQL2005版本) 前思后想仍觉得实战数据库版本的降迁一文中的方式不仅老土而且低效,故有了下文三步搞定数据库从MSSQL2008R2 高版 ...

  3. 使用开源实时监控系统 HertzBeat 5分钟搞定 Mysql 数据库监控告警

    使用开源实时监控系统 HertzBeat 对 Mysql 数据库监控告警实践,5分钟搞定! Mysql 数据库介绍 MySQL是一个开源关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 O ...

  4. vb 通过php连接mysql数据库连接_PHP连接MySQL数据库的几种方法

    1.最简单的方式-mysql(面向过程) $con = mysql_connect("localhost","root","password" ...

  5. mysql 数据库连接 w3school_PHP 连接 MySQL

    # PHP 连接 MySQL PHP 5 及以上版本建议使用以下方式连接 MySQL : * **MySQLi extension** ("i" 意为 improved) * ** ...

  6. vb 通过php连接mysql数据库连接_php连接mysql数据库

    步骤 连接数据库 $link = mysqli_connect('localhost','root','123456'); 判断/返回连接状态 if(!$link){ echo "不儿,tm ...

  7. mysql数据库连接javaweb_javaweb中mysql数据库连接方法

    一.直接连接,不封装到工具类中,主要步骤: 先导包:mysql-connector-java-5.0.8-bin.jar(点击跳转到下载界面),放在WebRoot/WEB-INF/lib/下 1.加载 ...

  8. MySQL数据库连接不上mysql服务器,计算机服务找不到mysql服务的解决办法

    我使用的mysql数据库是Navicat,打开软件之后,点击连接MySQL,突然弹出了一个窗口,提示连接不到localhost MySQL服务器,经过一番研究,解决了 一.添加MySQL服务,并设置开 ...

  9. iis配置mysql数据库连接_iis配置mysql数据库

    [php] 实战配置 IIS PHP MYSQL 前言:网上很多 IIS PHP MYSQL 教程安装完都会出现不支持 MYSQL 的问题,因为 那些教程都不是实际操作,而这里本教程经过实际操作,.. ...

最新文章

  1. python基础考核试题及答案
  2. 【python3的学习之路四】使用list和tuple
  3. 汇总运行在Hadoop YARN上的开源系统
  4. CRM Fiori Opportunity应用点了edit之后超时的问题分析
  5. 禁止sethc.exe运行 防止3389的sethc后门
  6. eclipse创建maven多模块项目(单个类似)
  7. PuppeteerSharp: 更友好的 Headless Chrome C# API
  8. 做世界首富的妻子,是一种怎样的体验?
  9. 中国移动停售华为5G手机?双方回应...
  10. Java之super
  11. UVa11988 Broken Keyboard (a.k.a. Beiju Text)
  12. 苹果手机投屏linux电脑,iphone怎么投屏到电脑?苹果手机投屏到电脑图文教程
  13. 某知名大学学生毕业设计, Java学好了就是厉害
  14. vue框架对接手机app
  15. 键盘侠小心了!微博或将推出“杠精”示众功能
  16. 外贸单证管理可高效简化外贸进出口制单流程
  17. 查询IP归属地的接口
  18. join me - gregorian 歌词翻译
  19. Photoshop CC 2017安装
  20. 第七章 NoSQL数据库技术(二)

热门文章

  1. 【Spring】Spring 报错 AbstractMethodError hikari MicrometerMetricsTrackerFactory create
  2. 【Elasticsearch】 elasticsearch之Recovery 手动触发索引滚动
  3. 【OSGI】The Provide-Capability with namespace ${provide.capability} is not a symbolic name
  4. 04-linux下离线安装Rserve
  5. 5款最适合 Windows 命令行/控制台的替代品
  6. 三年Java开发经验,必须要掌握的知识技能树有哪些?
  7. 清华大学计算机学科馆员,清华大学图书馆 学科馆员工作
  8. 虚拟化+云服务器,虚拟化+云服务器
  9. dns设置邮箱服务器,专业版DNS设置-更多-Coremail论客邮件系统-企业邮箱,8亿用户信赖的邮件服务器系统...
  10. 微软Power BI报表服务器学习总览