MySQL数据库是目前非常流行的数据库之一,mysql数据库小巧而且开源,可以免费试用,作为程序员,是必需的工具之一。
在labwindows中使用MYSQL有2中方法,一种就是labwindows自带的数据库连接库,还有一种方法就是使用MYSQL官网提供的C语言API接口连接数据库,前种方法在labwindows中有详细的说明,就不做介绍,想了解的可以去查看labwindows的说明文档。本文主要介绍如何通过C API接口来访问MYSQL。
-
首先从MYSQL官网下载C API接口包。
https://downloads.mysql.com/archives/c-c/ ,选择6.1.11版本进行下载,下载的文件解压打开,主要包括以下文件。
其中,include文件夹主要包括C API的头文件,lib主要包括库文件,我们只需要这两个文件夹即可。
2.labwindows中新建一个项目,重命名并保存。
3.将将MYSQl连接库中lib文件夹中的libmysql.dll文件和libmysql.lib文件复制到你刚才新建的项目文件下。
4.在labwindows文件浏览器中选择项目文件,右击鼠标选择Add Existing file…打开添加文件对话框,定位到你的项目的文件夹,选择刚复制进去的libmysql.lib文件添加到项目下。
5.包含头文件。
在labWindows中选择EDIT—>project…,打开project对话框,点击include Paths…,打开添加源文件对话框,定位到你刚才下载的mysql文件夹中,选择include文件夹,将include文件夹添加到include paths路径中,点击OK按钮退出。到此,整个编程环境设置完毕,接下来编写代码就可以访问MYSQL服务器了。
6.打开mysql.h文件,屏蔽 “#include <sys/types.h>” 这句代码(大概在35行的样子)。
说明:mysql.h头文件中包含一个sys/types.h的头文件,这个头文件是在Linux下使用的,在Windows系统下用不到,直接屏蔽就行,否则会出现找不到sys/types.h库的错误。还有一种办法就是在代码中包含libmysql.h头文件之前添加语句“#define MYSQL_ABI_CHECK”也可起到屏蔽作用(见后附代码) ,本人推荐后一种方法。
7.添加代码进行测试。
看编译环境是否设置成功,能否连接到MYSQl。
#include <stdio.h>
#define MYSQL_ABI_CHECK
#include "mysql.h"
#include <mysql.h>
#include <ansi_c.h>
static char *Host=NULL;
static char *User="root";
static char *Passwd="100.Ion";
static unsigned Port=0;
static char *SocketName=NULL;
static char *DatabaseName="lianxi";
static unsigned clientflag=0;
static MYSQL *mysqlHandle;
void ShowData(MYSQL *mysqlHandle) ;
void printfError(MYSQL *mysqlHandle,const char *title)
{
fprintf(stderr,"%s:\nError Code:%u(%s)\n",title,mysql_errno(mysqlHandle),
mysql_error(mysqlHandle));
}
int main(int argc,char *argv[])
{
if((mysqlHandle=mysql_init(mysqlHandle))==NULL)
{
printfError(mysqlHandle,"ERROR");
exit(1);
}
else
{
fprintf(stderr,"mysql ³õʼ»¯³É¹¦!\n");
}
if(mysql_real_connect(mysqlHandle,Host,User,Passwd,DatabaseName,Port,
SocketName,clientflag)==NULL)
{
printfError(mysqlHandle,"ERROR");
mysql_close(mysqlHandle);
getchar();
exit(1);
}
fprintf(stderr, "mysql Á¬½Ó³É¹¦!\n");
ShowData(mysqlHandle) ;
mysql_close(mysqlHandle);
getchar();
return 0;
}