(已解决)求助vc ado连接mysql的问题
[attach]67156[/attach]上面的数据源名 和 数据库名 有什么区别?
我创建了一个数据库为:USERS
是不是都填USERS?
[[i] 本帖最后由 yiyanwan77 于 2008-5-1 11:54 编辑 [/i]] 程序使用MySQL常见的两种方法
1、直接通过DB_URL:port、UserName、Password作为依据访问(这种用的比较多,推荐)
2、通过配置ODBC。
[free]第二种方法中
数据源名是你的程序调用的时候使用的,相当于给数据库起了个别名。(类似于变量引用和变量本身的关系)
数据库名是MySQL内部一个库的名字,一个MySQL Server可以拥有很多库,每个库包含很多表。
cmd下输入
>mysql -u root -p
> (此处输入密码,没有则留空)
>show databases(显示所有库)
>use test(使用test数据库)
................其他不做过多说明
[/free] [quote]原帖由 [i]蓝月鸟[/i] 于 2008-4-30 12:00 发表 [url=http://bbs.ghtt.net/redirect.php?goto=findpost&pid=1234285&ptid=104756][img]http://bbs.ghtt.net/images/common/back.gif[/img][/url]
程序使用MySQL常见的两种方法
1、直接通过DB_URL:port、UserName、Password作为依据访问(这种用的比较多,推荐)
2、通过配置ODBC。
第二种方法中
数据源名是你的程序调用的时候使用的,相当于给数据库起了个别名。(类似于变 ... [/quote]
谢谢了
我用vc,想用ado方式访问。
D:\MySQL Server 5.0\data\users这个是我创建数据库users的路径
你看下面的代码
CoInitialize(NULL);
_ConnectionPtr pConn(__uuidof(Connection));
_RecordsetPtr pRst(__uuidof(Recordset));
pConn->ConnectionString="DRIVER={MySQL ODBC 3.51 Driver}; SERVER=localhost;\
DATABASE=USERS; USER=root; PASSWORD=123456;OPTION=3;";
pConn->Open("","","",adConnectUnspecified);
pRst=pConn->Execute("select * from user_info",NULL,adCmdText);
while(!pRst->reEOF)
{
((CListBox *)GetDlgItem(IDC_LIST1))->AddString(
(_bstr_t)pRst->GetCollect("name"));
pRst->MoveNext();
}
pRst->Close();
pConn->Close();
pRst.Release();
CoUninitialize();
CoUninitialize();
头文件中:
#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","reEOF")
为什么总是出错呢
[attach]67182[/attach]
那个连接字符串改了好几次都不行
用ado方法是不是不需要包含mysql.h和include的路径了么?
那我创建数据库的路径也不需要在工程里体现么?
还有我改了mysql的访问端口号为3307,在连接字符串里要加上么? 很急啊
唉
自己顶一下喽 [url=http://topic.csdn.net/t/20050517/11/4013037.html]http://topic.csdn.net/t/20050517/11/4013037.html[/url]
[free]
一、安装MyODBC
1.访问网站 [url=http://www.mysql.com]www.mysql.com[/url] 并下载 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 端口:使用默认值,最好不要改,除非你有把握。
全部设置好了以后,按下“测试数据源”会看到屏幕显示连接成功。
配置就全部搞定了!
[/free]
[free]
采用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 strConn = "Provider=MSDASQL.1;Password=zcc123;Persist Security Info=True;\
User ID=root;Data Source=test";
测试代码附在:[url=http://www.cppblog.com/Files/kenlistian/mysql_test.rar]http://www.cppblog.com/Files/kenlistian/mysql_test.rar[/url]
[/free] [quote]原帖由 [i]蓝月鸟[/i] 于 2008-4-30 17:29 发表 [url=http://bbs.ghtt.net/redirect.php?goto=findpost&pid=1236225&ptid=104756][img]http://bbs.ghtt.net/images/common/back.gif[/img][/url]
555555
看到你的回帖
我测试了下数据库连接
发现连接不成功
然后重新把mysql配置改为3306端口
重装了myodbc
然后界面就变成
[attach]67247[/attach]
赶紧打开vc
点击。。。
运行成功
555555555555
爱死你了 蓝月鸟[em02] [em02] [em02] [em02] [em02] [em02] [em02] [em02] [em02]
页:
[1]