【3D技术宅公社】XR数字艺术论坛  XR技术讨论 XR互动电影 定格动画

 找回密码
 立即注册

QQ登录

只需一步,快速开始

调查问卷
论坛即将给大家带来全新的技术服务,面向三围图形学、游戏、动画的全新服务论坛升级为UTF8版本后,中文用户名和用户密码中有中文的都无法登陆,请发邮件到324007255(at)QQ.com联系手动修改密码

3D技术论坛将以计算机图形学为核心,面向教育 推出国内的三维教育引擎该项目在持续研发当中,感谢大家的关注。

查看: 3315|回复: 2

[数据库] 转载-VC通过ADO访问MySQL

[复制链接]
发表于 2009-4-28 17:23:48 | 显示全部楼层 |阅读模式
 最近,由于工作上需要用VC6.0来读写MySQL数据库,经过摸索,和CSDN上网友的帮助终于解决的这个问题。后来不断有网友问我如何用VC访问MySQL,有没有具体的例子?一时之间自己又拿不出实例,为此写下了这篇文章。谢谢CSDN上的所有朋友!

       我使用的方法是利用ADO通过建立ODBC数据源来最终达到访问MySQL的目的。

      1,建立数据MySQL数据库:

------------------------------ADOLinkMySQL.sql--------------------------------------

---------------------------------------------------------------------------------------------
--建立数据库ADOLinkMySQL
--建立表ADOLinkMySQL
--ADOLinkMySQL表插入数据
--2006-05-11
--黄政
---------------------------------------------------------------------------------------------

drop database if exists `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');

      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);      /*密码*/

有什么问题可以用QQ和我交流.我的QQ:78106926,可以传送实例程序以供参考。

 楼主| 发表于 2009-4-28 18:23:09 | 显示全部楼层
ADO连接MySQL(2007-12-28 15:25:46) var $tag='杂谈'; var $tag_code='b0eb9aa54fc2d902ebc42d26f5370b36'; 标签:杂谈    1.将myodbc3.dll,myodbc3S.dll拷贝到Windows/system32下
2.运行myodbc.reg 其内容为: Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\MySQL ODBC 3.51 Driver]
"UsageCount"=dword:00000001
"Driver"="C:\\WINDOWS\\system32\\myodbc3.dll"
"Setup"="C:\\WINDOWS\\system32\\myodbc3S.dll"


3.利用连接串Provider=MSDASQL.1;Driver={MySQL ODBC 3.51 Driver};Server=localhost;DataBase=test;UID=rootWD=sa     如果需要上面的Dll,发信到gengpengfeix@163.com warning:远程连接不能用Root用户   在安装MySql后只有一个超级管理权限的用户ROOT,而且ROOT限制只能在数据库本机上使用,如果我们要远程管理MySql咋办呢?那么事实上我们需要添加一个具有超级管理权限并且可能远程访问的超级用户,而在MySql中有两种方法可以实现这个目的,我们以增加一个超级权限管理用户 admin为例来说明。

你可以通过发出GRANT语句增加新用户:首先在数据库本机上用ROOT用户登录上MySql(不用我告诉你如何登录吧?),然后:

mysql>GRANT ALL PRIVILEGES ON *.* TO admin@localhost IDENTIFIED BY 'something' WITH GRANT OPTION;
mysql>GRANT ALL PRIVILEGES ON *.* TO admin@"%" IDENTIFIED BY 'something' WITH GRANT OPTION;

第一句增加了一个admin用户授权通过本地机(localhost)访问,密码“something”。第二句则是授与admin用户从任何其它主机发起的访问(通配符%)。

你也可以直接通过发出INSERT语句增加同样的用户存取信息:
mysql>INSERT INTO user VALUES('localhost','admin',PASSWORD('something'), 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y')
mysql>INSERT INTO user VALUES('%','admin',PASSWORD('something'), 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y')

取决于你的MySQL版本,对上述,你可能必须使用一个不同数目'Y'值(在3.22.11以前的版本有更少的权限列)。

验证方法,在命令行中输入:mysql -h主机名或IP地址 -u用户名 -p密码
 楼主| 发表于 2009-4-28 18:40:14 | 显示全部楼层
QUOTE:
一、安装MyODBC   
      
1.访问网站   www.mysql.com   并下载   MyODBC   ,我们使用的是3.51版本。   
      
2.安装MyODBC到Windows中   
      
运行下载回来的MyODBC-3.51.06.exe(文件名因版本而异)   
      
二、建立ODBC连接   
      
进入:控制面板-》ODBC数据源   
      
这时候,我们已经可以看到在用户DSN中已经存在一项:myodbc3-test,注意右边的Driver{mysql   odbc  3.51   driver}这个参数一会要一字不漏的作为ASP和数据库连接的连接字(Conection   String)。   
      
添加一个“系统DSN”   
      
选择对话框中“系统DSN”栏,按下右边的“添加”按钮。这时候会让你选择一个数据源。选择   MySQL   ODBC   3.51   Driver。按“结束”。   
      
这时候,会弹出一个配置对话框:   
      
Data   Source   Name   数据源名字:在程序中使用的DSN的标识符,可以随便命名。   
      
Host/Server   Name   (or   IP)主机/服务器   名字   (或者IP   地址),如果是本机就填入localhost   
      
Database   Name   数据库名:你要在程序中使用的库名。   
      
User   用户:登录MySQL   使用的用户名,特别注意,root用户由于安全问题只能在本机登录,当然啦,用户可以通过修改user表来去掉这个功能。   
      
Password   密钥:登录的密码   
      
Port   端口:使用默认值,最好不要改,除非你有把握。   
      
全部设置好了以后,按下“测试数据源”会看到屏幕显示连接成功。   
      
配置就全部搞定了!   
QUOTE:
采用mysql数据库中作为vc的连接数据库,当采用ado来处理时,只需要按下面步骤即可。

1.下载mysql odbc,or mysql ole,由于俺下了个mysql ole出了错,偷懒便直接下了mysql odbc,

    版本必须是3.51.11以上的,版本以下可能就出错。

2.安装后,采用odbc建立一个连接的mysql数据连接,通过udl文件取出其中的字符串。

3.替换在vc中连接ado的数据的字符串方法,即可正常连接。

采用myodbc的字符串如下:

CString strC;


测试代码附在:http://www.cppblog.com/Files/kenlistian/mysql_test.rar
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|3D数字艺术论坛 ( 沪ICP备14023054号 )

GMT+8, 2025-2-6 12:51

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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