对于刚刚接触MySQL的用户,如果想用C语言连接MySQL,往往会是一件很麻烦的事情。这里就整理过程做一个详细的说明,以便参考。
概述:
MYSQL mysql; mysql_init(&mysql); mysql_options(&mysql,MYSQL_READ_DEFAULT_GROUP,"your_prog_name"); if (!mysql_real_connect(&mysql,"host","user","passwd","database",0,NULL,0)) { fprintf(stderr, "Failed to connect to database: Error: %s\n", mysql_error(&mysql)); } |
要想正常使用这些API,你需要做一下两件事情:
- 包含这些API的声明文件(mysql.h)
- 让你编译器找到这些API的可执行程序。(dll库)
详细步骤:
- 在你的C语言中加入如下声明:
#include "windows.h" #include "mysql.h" int main(){ ...... }
那编译器如何才能找到mysql.h文件呢?需要做如下设置:
a) VC6.0中,在你的Project(项目),选择Tools菜单下的Options选项,在Directories的标签页中右边的“Show directories for:”下拉列表中选中“Includefiles”,然后在中间列表框中添加你本地安装MySQL的include目录路径。 (5.*版本的路径应该是:C:\\Program Files\\MySQL\\MySQL Server 5.0\\include)
b)至此,你的编译器就知道mysql的API接口有哪些函数,以及函数的原型是怎样的(mysql.h中)。你的C语言程序应该已经能够通过Compile(编译)这一步了
- 到上一步你的程序能够编译通过了,但是也只是能编译而已,想生成可执行程序这些还不够。还需要告诉编译器这些API函数的可执行文件在哪儿(libmysql.dll)。
VC6.0中,在你的Project(项目)中a) 选择Tools菜单下的Options选项,在Directories的标签页中右边的“Show directories for:”下拉列表中选中“Library files”,然后添加你本地安装MySQL的Lib目录路径。 (5.*版本的路径应该是:C:\\Program Files\\MySQL\\MySQL Server 5.0\\lib\\debug 或者C:\\Program Files\\MySQL\\MySQL Server 5.0\\lib\\opt);
b) 选择“Project settings->Link:Object/library modules”,添加“libmysql.lib” [把建议将“libmySQL.lib、libmySQL.dll”拷到你所建的工程的目录下]
c) 在你的程序代码中加入:
#include “mysql.h”
#include “windows.h”
#pragma comment(lib,”libmySQL.lib”) - 这样就完成了所有的工作,你的源代码大概是这个样子:
#include "windows.h" #include "mysql.h" #pragma comment(lib,"libmySQL.lib") int main(){ MYSQL mysql; mysql_init(&mysql); mysql_options(&mysql,MYSQL_READ_DEFAULT_GROUP,"your_prog_name"); if (!mysql_real_connect(&mysql,"host","user","passwd","database",0,NULL,0)){ fprintf(stderr, "Failed to connect to database: Error: %s\n",mysql_error(&mysql)); } }
- 如果你使用的Dev C++情况可能会复杂些,可以参考:
http://16hot.blog.isyi.com/post/1/144
http://topic.csdn.net/u/20080524/01/2a26ab3f-caee-4695-9141-d75b28995a2d.html
另外,还有一个连接MySQL的C++类也非常好用:MySQL++
【参考文章】
Leave a Reply