一、创建数据库、创建表、插入数据

>show databases;

>create database mydb;

>user mydb;

>create table mytable(id int(4) not null primary key auto_increment,name char(20) not null, sex int(4) not null default '0');

>insert into mytable(id, name, sex) values(1, 'aaa', 0);

>insert into mytable(name, sex) values('aaa', 0);

>

二、ADO连接mysql数据库

2.1 安装mysql驱动程序

驱动程序名称:mysql-connector-odbc-5.2.5-win32.msi

2.2 配置odbc数据源

控制面板 -> 系统和安全 -> 管理工具 -> 数据源ODBC -> 用户DSN -> 添加 -> MySQL ODBC 5.2 ANSI Driver

2.3 程序连接mysql数据库

#include

#include

#include

using namespace std;

#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF", "adoEOF")

int main(int argc, char *argv[])

{

CoInitialize(NULL);

//Connect

_ConnectionPtr pConn;

pConn.CreateInstance(__uuidof(Connection));

try

{

HRESULT hr = pConn->Open("DSN=MySQL-ODBC;server=localhost;database=mydb;", "root", "love", adModeUnknown);

}

catch (_com_error &e)

{

cout<

return -1;

}

//Open

_RecordsetPtr pRecord;

pRecord.CreateInstance(__uuidof(Recordset));

pRecord->CursorLocation = adUseClient;

pRecord->PutActiveConnection(pConn.GetInterfacePtr());

//Read

pRecord->Open(_bstr_t("select * from mytable"),vtMissing, adOpenDynamic, adLockBatchOptimistic, adCmdText);

while(!pRecord->adoEOF)

{

_variant_t vID = pRecord->GetCollect(_variant_t((long)0));

_variant_t vName = pRecord->GetCollect("name");

_variant_t vSex = pRecord->GetCollect("sex");

cout<

cout<

cout<

pRecord->MoveNext();

}

//Close

pRecord->Close();

pConn->Close();

CoUninitialize();

return 1;

};

三、mysql的API连接mysql数据库

3.1 配置连接mysql环境

mysql安装目录为:C:\Program Files\MySQL

1. 在VS中设置include目录:C:\Program Files\MySQL\MySQL Server 5.6\include

2. 在VS中设置lib目录:C:\Program Files\MySQL\MySQL Server 5.6\lib

3. 将libmysql.dll拷贝到当前工程目录下。

3.2 程序连接mysql数据库

#include

#include

#include

using namespace std;

#include "mysql.h"

#pragma comment(lib, "libmysql.lib")

int main(int argc, char *argv[])

{

MYSQL sqlCon;

//init

mysql_init(&sqlCon);

//connect

if(!mysql_real_connect(&sqlCon, "localhost", "root", "love", "mydb", 3306, NULL, 0))

{

cout<

return 0;

}

//query

char *pQuery = "select * from mytable";

if(mysql_real_query(&sqlCon, pQuery, (UINT)strlen(pQuery)))

{

cout<

return 0;

}

MYSQL_RES *sqlRes = mysql_store_result(&sqlCon);

while(MYSQL_ROW row = mysql_fetch_row(sqlRes))

{

cout<

cout<

cout<

}

mysql_free_result(sqlRes);

//close

mysql_close(&sqlCon);

return 1;

};

3.3 编译错误error LNK2019:

1. 错误

error LNK2019: 无法解析的外部符号 _mysql_close@4,该符号在函数 _main 中被引用

error LNK2019: 无法解析的外部符号 _mysql_real_connect@32,该符号在函数 _main 中被引用

error LNK2019: 无法解析的外部符号 _mysql_init@4,该符号在函数 _main 中被引用

2. 原因

系统是Win7 64位,安装的mysql是64位,而工程用的是32位

3. 解决:将工程改为64位

属性 -> 配置管理器 -> 活动解决方案平台 -> 新建 -> X64

mysql数据库连接ado_mysql:2种连接数据库方式:ADO连接、mysql的API连接 | 学步园...相关推荐

  1. python之路 mysql 博客园_教为学:Python学习之路(二):MySQLdb的几种安装方式,以及用Python测试连接MySql...

    教为学:Python学习之路(二):MySQLdb的几种安装方式,以及用Python测试连接MySql Easy_install安装MySQLdb 很简单,以至于我不晓得该怎么说.一句话. sodu ...

  2. MySQL数据库的四种登录方式

    MySQL数据库的四种登录方式 登录方式 MySQL数据库的登录主要有四种方式: Command Line Command Line是安装MySQL自带的,你只需要找到图一的应用打开然后输入密码就可以 ...

  3. mysql主从 复制新库_关于MySQL主从复制的几种复制方式总结

    异步复制 MySQL的复制默认是异步的,主从复制至少需要两个MYSQL服务,这些MySQL服务可以分布在不同的服务器上,也可以在同一台服务器上. MySQL主从异步复制是最常见的复制场景.数据的完整性 ...

  4. 连接mysql数据库有几种方式_数据库连接的几种常用方式

    在上一讲中,讲解了数据库的大概种类和特点,这些和我们VBA的知识离得远些,我们要用到只是其中的一点点就可以了.那么,要想操作数据库,首先要做的是什么呢?对了,就是要首先连接到这个数据库(我们先假设有这 ...

  5. oracle mysql连接池配置文件_数据库连接池两种配置方式详解

    数据库连接池: 负责分配.管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而再不是重新建立一个:释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接 ...

  6. mysql体系结构及四种部署方式

    目录 mysql体系结构 MySQL安装部署 mysql体系结构 一.连接层 思想 为解决资源的频繁分配-释放所造成的问题,为数据库连接建立一个"缓冲池". 原理 预先在缓冲池中放 ...

  7. r 64位连接mysql_R与Mysql数据库连接的两种方法

    方法一:RODBC包 R中的RODBC包在Linux和Windows系统下都能运行.所以,使用这个包可以把R连接到所有的数据库系统.下面以连接Mysql为例(在Windows系统下). 使用RODBC ...

  8. Mysql主从复制的三种同步方式和半同步复制配置

    目录 一.MySQL主从复制的三种同步模式 1.异步复制(Asynchronous replication) 2.全同步复制(Fully synchronous replication) 3.半同步复 ...

  9. linux更mysql改密码_Linux下mysql密码的两种修改方式

    注意事项:mysql密码与Linux系统的用户无任何联系,而是mysql自身一套密码系统,mysql的最高管理员用户名也是root,其密码也不涉及任何文件,更改root密码最方便.mysql登陆命令可 ...

最新文章

  1. 开发者和程序员需要关注的42个播客
  2. MongoDB如何一次插入多条json数据--转
  3. python高清大图代码_python2的代码从吉卜力网页上下载高清图片
  4. The content of element type configuration must match (properties?,settings?,typeAliases?,typeHand...
  5. 服务应用监控健康检测
  6. 求模板啊,求软著说明书模板啊
  7. PTAM特征点法跟踪和建图 SLAM FAST Patch
  8. VxVM Volume Snapshot Issue -- 卷快照删除失败示例一
  9. 关于给hexo博客增加视频vlog页面(主要引入哔哩哔哩视频)
  10. Android 4高级编程(第3版)》
  11. 万分之二用百分之怎么表示_万分之三怎么写?
  12. MSRA提出通用文档预训练模型LayoutLM,通往文档智能之路!
  13. numpy matplotlib 进行图像读取和显示
  14. 元宇宙的东风吹向何处?企业如何乘势布局?
  15. Android精品软件汇总(不断更新)
  16. 谈谈我做拼音搜索的一点经验
  17. Day44-45_Hive高级
  18. python爬取煎蛋网妹子图
  19. SqlNullValueException: Data is Null. This method or property cannot be called on Null values.
  20. Doris最全使用手册

热门文章

  1. 第一百七十四节,jQuery,Ajax进阶
  2. Iveely搜索引擎二三题,用你的智慧来解决吧!
  3. bzoj1059: [ZJOI2007]矩阵游戏
  4. codeforces - 766B【三角形判断】
  5. parameter localparam define的区别
  6. 绕过CDN查找网站真实IP方法收集
  7. Android 内存管理 Memory Leak OOM 分析
  8. Eclipse Plug-in Hello world
  9. GIS管网项目-flex/java
  10. spark基准测试-BigDataBenchs