VC如何用ado连接mysql数据库

beihaizhixing 2009-07-13 05:08:09
我已经在电脑上安装了MySQL ODBC 5.1 Driver并且已经测试成功,但是连接串是什么样子的呢?
...全文
505 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
BlueMap 2010-07-11
  • 打赏
  • 举报
回复
ODBC方式链接。

1、应用程序的stdafx.h头文件中(也可以在其他合适的地方)包含如下语句。

#import "C:\\program files\\common files\\system\\ado\\msado15.dll" no_namespace rename ("EOF", "adoEOF")



2、链接数据库

CoInitialize(NULL); //初始化Com组件

_ConnectionPtr conPtr; //数据库链接指针

// conPtr.CreateInstance("ADODB.Connection"); //Connection用于与数据库服务器的链接

conPtr.CreateInstance(__uuidof(Connection)); //Connection用于与数据库服务器的链接另一种方式

/******************连接数据库********************/

try

{

conPtr->ConnectionTimeout = 5; //设置连接时间

// MySqlTest为数据源名 localhost表示本地 root表示用户名 sa表示密码

//链接方式1,使用这种方式链接时要注意在设置数据源时一定要选择一个数据库

//conPtr->Open("DSN=MySqlTest;server=localhost;","root","sa",adModeUnknown);///连接MySql数据库(测试成功)

//链接方式2采用这种方式链接时在创建数据源时没有必要选择一个数据库 conPtr->Open("DSN=MySqlTest;server=localhost;database=test;","root","sa",adModeUnknown);///连接MySql数据库(测试成功)

}

catch(_com_error e) //捕捉异常

{

AfxMessageBox(e.ErrorMessage());

}

CoUninitialize(); //释放com组件//不知是否有必要
beihaizhixing 2009-07-14
  • 打赏
  • 举报
回复
我在北京 呵呵
周成风 2009-07-13
  • 打赏
  • 举报
回复
在这兄弟长兄弟短呢。。吼吼!我来学习的!
codelast.com 2009-07-13
  • 打赏
  • 举报
回复
[Quote=引用 22 楼 beihaizhixing 的回复:]
楼上的留下msn吧 有空交流交流 我本来是在linux上做开发 这是过去遗留的在windows上的程序 需要移植到mysql数据库上。
[/Quote]

敢问兄台在哪个城市的呢?
beihaizhixing 2009-07-13
  • 打赏
  • 举报
回复
楼上的留下msn吧 有空交流交流 我本来是在linux上做开发 这是过去遗留的在windows上的程序 需要移植到mysql数据库上。
codelast.com 2009-07-13
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 beihaizhixing 的回复:]
楼上的兄台的方法确实可行 但确实要制定编码方式
[/Quote]

我数据库用UTF-8的
beihaizhixing 2009-07-13
  • 打赏
  • 举报
回复
楼上的兄台的方法确实可行 但确实要制定编码方式
codelast.com 2009-07-13
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 wangjia184 的回复:]
那位兄弟的方式可行

连接字符串中最好指定编码方式 免得乱码
[/Quote]

哦?添加怎样一段?
codelast.com 2009-07-13
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 beihaizhixing 的回复:]
楼上的帅哥 刚才我去跑步了 你用的可是ado的连接方式吗?
[/Quote]

当然是啊,绝对可用的
CodeProject-Jerry 2009-07-13
  • 打赏
  • 举报
回复
那位兄弟的方式可行

连接字符串中最好指定编码方式 免得乱码
beihaizhixing 2009-07-13
  • 打赏
  • 举报
回复
楼上的帅哥 刚才我去跑步了 你用的可是ado的连接方式吗?
codelast.com 2009-07-13
  • 打赏
  • 举报
回复
楼主试了没?搞定了吧
codelast.com 2009-07-13
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 beihaizhixing 的回复:]
楼上的兄台 我连接的是远程数据库。
[/Quote]

那我给你一个绝对可行的连接串(我才用的):


CString strConnection; // 连接字符串
strConnection.Format("Driver={mySQL ODBC 5.1 Driver};Server=%s; Port=%d;Option=4;Database=%s;Uid=%s;Pwd=%s;", strDatabaseIP, nPort, strDBName, strUserName, strPassword);


其中,strDatabaseIP、nPort、strDBName、strUserName、strPassword 五个变量分别为 数据库IP地址、端口号、数据库名、用户名、密码。

这个连接串我才用在自己的软件里,没有问题的。
beihaizhixing 2009-07-13
  • 打赏
  • 举报
回复
楼上的兄台 我连接的是远程数据库。
codelast.com 2009-07-13
  • 打赏
  • 举报
回复
楼主你要连接的是本机的数据库,还是网络里其他机器上的数据库?本机的话,连接串就简单蛮多
beihaizhixing 2009-07-13
  • 打赏
  • 举报
回复
MySQLProv是什么是不是还要安装一下才行呀?
beihaizhixing 2009-07-13
  • 打赏
  • 举报
回复
用你的方法连接后就不返回了 也不知道连接是否成功。程序阻塞在连接的函数那里了。
asksgp 2009-07-13
  • 打赏
  • 举报
回复
mark
The_facE 2009-07-13
  • 打赏
  • 举报
回复
看来不用看那个帖子了,呵呵。
The_facE 2009-07-13
  • 打赏
  • 举报
回复
http://topic.csdn.net/u/20090630/17/105f96f4-8638-4ff0-9514-1b7971b8c510.html

我那次提问是SQL Server,不是MySQL,看看有没有帮助。
加载更多回复(6)

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧