如何在Dev C++ IDE使用MySQL C API

这几天忙着写一支C语言的程式将门禁系统的原始资料转档然后转存到MySQL资料库中,之前就听说了MySQL有提供C API可用,但是要搞清楚如何取得Dev C++,然后用这个API可说是最具有挑战性的,这里有一些简单的步骤可以帮你设定然后执行,这些步骤假定你已经安装了Dev C++ 、mysql并且也在执行中,还有可以写出C语言程式的知识,在我的系统中有安装xampp使用apache伺服器来提供web介面到mysql,假如你有这样做你可以建立自己的资料库,连结资料库然后执行查询,但是今天这个教学只会使用预先安装的mysql 资料库。

[adsense][/adsense]

步骤 1

下载安装Dev C++的mysql devpak

步骤 2

开启Dev C++ 然后到工具→编译器选项(如下图)

2013-11-12_163657

在编译器选项的对话视窗新增下列的命令到连结器输入方块中:-lmysql,如下图

2013-11-12_163749

就是这样了,现在确定你的mysql有在执行,然后准备好设计程式!

步骤 3

复制下面的程式码到Dev C++,假如幸运的话应该可以编译成功。


#include <stdlib.h>
#include <stdio.h>
#include <stdio.h>

#include <windows.h>
#include <mysql/mysql.h>

static char *opt_host_name = "localhost"; /* server host (default=localhost) */
static char *opt_user_name = "root"; /* username (default=login name) */
static char *opt_password = ""; /* password (default=none) */
static unsigned int opt_port_num = 3306; /* port number (use built-in value) */
static char *opt_socket_name = NULL; /* socket name (use built-in value) */
static char *opt_db_name = "mysql"; /* database name (default=none) */
static unsigned int opt_flags = 0; /* connection flags (none) */

int main (int argc, char *argv[])
{
    MYSQL *conn; /* pointer to connection handler */
    MYSQL_RES *res; /* holds the result set */
    MYSQL_ROW row;

    /* initialize connection handler */
    conn = mysql_init (NULL);

    /* connect to server */
    mysql_real_connect (conn, opt_host_name, opt_user_name, opt_password,
    opt_db_name, opt_port_num, opt_socket_name, opt_flags);

    /* show tables in the database (test for errors also) */
    if(mysql_query(conn, "show tables"))
    {
        fprintf(stderr, "%s \n", mysql_error(conn));
        printf("Press any key to continue. . . ");
        getch();
        exit(1);
    }

    res = mysql_use_result(conn); /* grab the result */

    printf("Tables in database\n");
    while((row = mysql_fetch_row(res)) != NULL)
        printf("%s \n", row[0]);

    /* disconnect from server */
    mysql_close (conn);

    printf("Press any key to continue . . . ");
    getch();
    return 0;
} /* end main function */

如果幸运的话可以看到下面的输出

2013-11-14_142154

看到没,已经可以成功连结到mysql伺服器了!可以看看 \Dev-Cpp\docs\libmysql 这个资料夹里有一个mysql手册包含了完整的文件,这里头有提供C api提供的函式,假如你要找一个简易教学来使用api可以检视下面的连结,里面有程式码跟许多的范例,有趣吧。

注意: Vista的使用者,在尝试执行.exe的时候你会看到vista抱怨没有发现libmysql.dll,假如有这等情事发生复制在Dev-Cpp\bin里的这个档案到.exe档案所载的资料夹中。

http://www.kitebird.com/mysql-book/ch06-2ed.pdf

有问题或建议就请直接留言给我