Dev-cpp下使用 MYSQL C API尝试连接MYSQL(C++)
2008-05-24 01:40:24| 分类: DataMining|举报|字号 订阅
在网上了很多关于使用MYSQL C API的资料,和实例。可不是VC下的,就是BCB的,要不就是Linux下的,而我一直想在Win下用标准C++来做东西(美其名曰是想要移植性 :) )。所以想在Dev-cpp下使用 MYSQL C API尝试连接MYSQL。下面把心得和连接、配置方法写一下。
Advertise on this site Programmer home |
Your Ad Here
1.当然要先安装MySQL数据库了。我安的是5.0
2.我的Dev-cpp版本是4.9.9.2,操作系统是Windows XP SP2 。
a)为Dev-cpp下载MySQL的包。方法有两个:
1)使用Dev-cpp的更新功能。“工具”-〉“检查更新” 如图1
图 1
图 2
在“Select devpak server”中选择“”如图3所示
图 3
点击“Check for updates”在得到的文件列表中选择“libmysql”
图 4
其他的就是下载和安装了。(图5-7)
图 5
图 6
图 7
b)直接到下载,然后使用package manager安装
图 8
3.现在就可以新建工程,来在自己的程序中使用MySQL 提供的C API了。
*注意:需要对工程作如下设置:
1)“工程”-〉“工程属性” 中 “参数”选项卡
在“编译器”和“C++编译器”中加入
“-Wall”和“-W”不包括“”,在“连接器”中加入“-lmysql”不包括“”
如图9
图 9
2)在程序中加入
#include < mysql.h>
下面给出一个简单的示例程序。
#include <windows.h>
#include <iostream>
#include <mysql/mysql.h>
#define SELECT_QUERY "select * from stu "
using namespace std;
int main(int argc, char *argv[])
...{
//connection params
char *host = "localhost";
char *user = "root";
char *pass = "123";
char *db = "mydb";
//sock
MYSQL *sock;
MYSQL_RES *res;
sock = mysql_init(0);
if (sock) cout << "sock handle ok!" << endl;
else ...{
cout << "sock handle failed!" << endl;
return EXIT_FAILURE;
}
//connection
if (mysql_real_connect(sock, host, user, pass, db, 0, NULL, 0))
cout << "connection ok!" << endl;
else ...{
cout << "connection failed!" << endl;
return EXIT_FAILURE;
}
//query
if (mysql_query (sock, SELECT_QUERY ))
...{
cout << "Query failed " << mysql_error(sock) << endl;
exit(1);
}
if ( !( res = mysql_store_result( sock )))
...{
cout << "Couldn't get result from " << mysql_error(sock) <<endl;
exit(1);
}
MYSQL_FIELD *field;
MYSQL_ROW row;
while ((field = mysql_fetch_field(res)))
...{
printf("field name %s ", field->name);
}
while ( row = mysql_fetch_row ( res ))
...{
cout<<row[0]<<" "<<row[1]<<endl;
}
system("PAUSE");
//closing connection
mysql_free_result ( res );windows怎么使用mysql
mysql_close(sock);
return EXIT_SUCCESS;
}
运行结果
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论