这篇文章给大家介绍如何使用ADO连接mysql,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

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

>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

下载地址:http://dev.mysql.com/downloads/connector/odbc/

2.2 配置odbc数据源

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

驱动程序与ODBC数据源,必须一致:http://blog.csdn.net/kanguolaikanguolaik/article/details/9497329

2.3 程序连接mysql数据库

#include<Windows.h>#include<iostream>#include<string>usingnamespacestd;#import"C:\ProgramFiles\CommonFiles\System\ado\msado15.dll"no_namespacerename("EOF","adoEOF")intmain(intargc,char*argv[]){CoInitialize(NULL);//Connect_ConnectionPtrpConn;pConn.CreateInstance(__uuidof(Connection));try{HRESULThr=pConn->Open("DSN=MySQL-ODBC;server=localhost;database=mydb;","root","love",adModeUnknown);}catch(_com_error&e){cout<<e.Description()<<endl;return-1;}//Open_RecordsetPtrpRecord;pRecord.CreateInstance(__uuidof(Recordset));pRecord->CursorLocation=adUseClient;pRecord->PutActiveConnection(pConn.GetInterfacePtr());//ReadpRecord->Open(_bstr_t("select*frommytable"),vtMissing,adOpenDynamic,adLockBatchOptimistic,adCmdText);while(!pRecord->adoEOF){_variant_tvID=pRecord->GetCollect(_variant_t((long)0));_variant_tvName=pRecord->GetCollect("name");_variant_tvSex=pRecord->GetCollect("sex");cout<<vID.lVal<<"";cout<<(char*)(_bstr_t)vName<<"";cout<<vSex.lVal<<endl;pRecord->MoveNext();}//ClosepRecord->Close();pConn->Close();CoUninitialize();return1;};

三、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<Windows.h>#include<iostream>#include<string>usingnamespacestd;#include"mysql.h"#pragmacomment(lib,"libmysql.lib")intmain(intargc,char*argv[]){MYSQLsqlCon;//initmysql_init(&sqlCon);//connectif(!mysql_real_connect(&sqlCon,"localhost","root","love","mydb",3306,NULL,0)){cout<<"failtoconnectmysqldatabase."<<endl;return0;}//querychar*pQuery="select*frommytable";if(mysql_real_query(&sqlCon,pQuery,(UINT)strlen(pQuery))){cout<<mysql_error(&sqlCon)<<endl;return0;}MYSQL_RES*sqlRes=mysql_store_result(&sqlCon);while(MYSQL_ROWrow=mysql_fetch_row(sqlRes)){cout<<row[0]<<"";cout<<row[1]<<"";cout<<row[2]<<endl;}mysql_free_result(sqlRes);//closemysql_close(&sqlCon);return1;};

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

关于如何使用ADO连接mysql就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。