日期:2014-05-16  浏览次数:20690 次

mysql-connect-c 简单配置

真的很喜欢mysql的,小巧又强大,容易使用。

这次因为项目需要,想要在windows的vs 2008下,用C语言连接mysql数据库。网上找到的是C++的设置,将就吧,在参考与猜测之下,还真的配置成功,可以连接上了!

首先,直接上mysql官网下载mysql-connect-c.msi,http://www.mysql.com/downloads/mirror.php?id=378015,我使用的是6.02的版本。下载完就安装喽~~安装很快完成,然后在安装目录下发现了include和lib两个文件夹(其余的我忽略了),为书写路径方便,我把它们给复制到项目目录下面。

那如何使用这两个文件夹里面的东西呢?需要在VS的工程里面做一些简单的设置。右键工程-属性,打开了工程属性页。

首先,include:点击C/C++选项,有看到附加包含目录,把include写进去,当然,也可以通过打开文件对话框向导输入,反正就是我们刚才mysql的include目录了。

类似的,解决lib:点击链接器选项,在附加库目录里输入lib/opt。然后点击链接器子选项输入,有看到附加依赖项,输入libmysql.lib mysqlclient.lib就行了。

哦,对刚才的lib/opt目录下,还有一个libmysql.dll文件,把它复制到windows/system32目录下。其实,放到debug目录下也可以的。

那其实这样子就行了。接下来写个简单的代码测试下吧!

#include <windows.h>

#include <stdio.h>

#include <stdlib.h>

#include "mysql.h"

?

int main()

{

MYSQL mysql, *sock;

MYSQL_RES *res;

MYSQL_FIELD *fd;

MYSQL_ROW row;

char qbuf[160];

?

mysql_init(&mysql);

if(!(sock = mysql_real_connect(&mysql,"localhost","root","root","test",3306,NULL,0)))

{

fprintf(stderr,"Couldn't connect to engine!\n%s\n\n", mysql_error(&mysql));

exit(1);

}

?

sprintf(qbuf, "select * from signature");

mysql_query(sock, qbuf);

res = mysql_store_result(sock);

printf("%d\n", mysql_num_fields(res));

?

mysql_free_result(res);

mysql_close(sock);

return 0;

}

?

不出意外的话,应该是能成功的。别忘了添加必要的文件头,比如说windows.h,mysqh.h这些。

OVER~~~