最近项目要用MySql数据库,但是开发平台是Microsoft(如果Java就好了),并且不是.net平台,所以使用了ado访问。安装好MySql后需要安装mysql-connector-odbc-3.51.12-win32.msi,然后就可以通过ado-odbc方式访问了。
connectstring为”DRIVER={MySQL ODBC 3.51 Driver};SERVER=localhost;PORT=3306;DATABASE=test;USER=root;PASSWORD=root;OPTION=3;“。
但是需要注意的一个问题汉字问题的显示,建立好连接后执行一下 conn->Execute((_bstr_t)"set names gb2312",NULL,-1);否则显示的汉字为乱码(但是.net c#访问不存在这个问题)。
另外还发现一个问题,通过Execute()返回记录集后,无法通过rst->Get_RecordCount()获得记录总数,太郁闷了。只能通过循环自己累加,或者通过Count(*)命令来。
另:请求高手指点使用ado访问MySql应该注意的另外问题。
VC通过ADO访问MySQL
转自zoehugh的专栏 最近,由于工作上需要用VC6.0来读写MySQL数据库,经过摸索,和优快云上网友的帮助终于解决的这个问题。后来不断有网友问我如何用VC访问MySQL,有没有具体的例子?一时之间自己又拿不出实例,为此写下了这篇文章。谢谢优快云上的所有朋友!
转自zoehugh的专栏 最近,由于工作上需要用VC6.0来读写MySQL数据库,经过摸索,和优快云上网友的帮助终于解决的这个问题。后来不断有网友问我如何用VC访问MySQL,有没有具体的例子?一时之间自己又拿不出实例,为此写下了这篇文章。谢谢优快云上的所有朋友!
我使用的方法是利用ADO通过建立ODBC数据源来最终达到访问MySQL的目的。
1,建立数据MySQL数据库:
------------------------------ADOLinkMySQL.sql--------------------------------------
---------------------------------------------------------------------------------------------
--建立数据库ADOLinkMySQL
--建立表ADOLinkMySQL
--ADOLinkMySQL表插入数据
--2006-05-11
--黄政
---------------------------------------------------------------------------------------------
--建立数据库ADOLinkMySQL
--建立表ADOLinkMySQL
--ADOLinkMySQL表插入数据
--2006-05-11
--黄政
---------------------------------------------------------------------------------------------
drop database if exists `ADOLinkMySQL`;
create database `ADOLinkMySQL`;
create database `ADOLinkMySQL`;
use ADOLinkMySQL;
drop table if exists `ADOLinkMySQL`;
create table `ADOLinkMySQL`(`Name` varchar(255)not null comment'姓名',
`Age` int(200) unsigned not null comment'年龄',
`Sex` varchar(255) not null comment'性别')Engine=InnoDB default charset=gb2312;
insert into `ADOLinkMySQL`(`Name`,`Age`,`Sex`)values
('Jack','20','boy'),
('Rose','19','girl');
create table `ADOLinkMySQL`(`Name` varchar(255)not null comment'姓名',
`Age` int(200) unsigned not null comment'年龄',
`Sex` varchar(255) not null comment'性别')Engine=InnoDB default charset=gb2312;
insert into `ADOLinkMySQL`(`Name`,`Age`,`Sex`)values
('Jack','20','boy'),
('Rose','19','girl');
2,下载并安装myodbc,可以到
www.google.com搜索下载.
3,建立数据源:
开始菜单->设置->控制面板->管理工具->数据源(ODBC)->系统DSN->添加->选择MySQL ODBC 3.51 Driver(我下载的MyODBC版本是3.51)
然后在出现的Connector/ODBC Configure Data Source Name对话框中输入
Data Source Name---------ADOLinkMySQL //数据源名称
Server-------------------localhost //数据库服务器名称
User---------------------root //用户名(MySQL默认的用户名是root)
Password-----------------123456 //密码(由MySQL root用户管理)
DataName-----------------adolinkmysql //你刚才建立的数据库名称
输入以后,点击Test。如果出现Success;connection was made!表示建立数据源成功,即可 继续下一步
4,最后应用程序就可以通过ADO来访问MySQL了。注意在连接数据库中要用以下代码来连接
_ConnectionPtr m_pConnection;
m_pConnection->Open("DSN=ADOLinkMySQL;", /*数据源名称*/
"root", /*用户*/
"123456",0); /*密码*/
"root", /*用户*/
"123456",0); /*密码*/
有什么问题可以用QQ和我交流.我的QQ:78106926,可以传送实例程序以供参考。