c语言连接mysql数据库

这个学期要做数据库的课程设计,不懂VB,不懂Delphi,不懂php,不懂asp、jsp,最终只能回归c语言了。

从网上找了很久相关资料,根据我的经验,照抄总是不行的,肯定有各种奇奇怪怪的问题。果不其言,搭建配置都要折腾。捣鼓了大半天,终于连接成功了!

#include <stdio.h>
#include <my_global.h>
#include <mysql.h>
#include <WinSock2.h>
#include <stdlib.h>

#pragma comment(lib, "libmysql.lib")

int main(int argc , char *argv[])
{
 MYSQL conn;     //定义数据库连接的句柄
    MYSQL_RES *res; //查询结果集,结构类型
    MYSQL_FIELD *fd;//包含字段信息的结构
    MYSQL_ROW row;  //存放一行查询结果的字符串数据 char **
    unsigned int num_fields;

    mysql_init(&conn);

    if(!mysql_real_connect(&conn,
                        "127.0.0.1",
                        "root",
                        "root",
                        "test",
                        3306u,
                        NULL,
                        0))
    {
        fprintf(stdout, "%s\n", mysql_error(&conn));
        perror("");
        exit(1);
    }
    fprintf(stdout, "%s\n\n", mysql_stat(&conn));

    if(mysql_query(&conn, "use test;"))
    {
        printf("%s\n", mysql_error(&conn));
        exit(2);
    }
    if(mysql_query(&conn, "select * from department;"))
    {
        printf("%s\n", mysql_error(&conn));
        exit(3);
    }

    if(!(res = mysql_use_result(&conn)))
    {
        printf("%s\n", mysql_error(&conn));
        exit(4);
    }
   
    num_fields = mysql_num_fields(res);
    printf("number of fields returned: %u\n", num_fields);

    printf("Mysql tables in mysql database:\n");
    while( row = mysql_fetch_row(res) )
    {
        int i;
        for(i=0; i<num_fields; ++i)
            printf("%s\t", ((NULL!=row[i])&&(strlen(row[i]))? row[i] : "NULL"));
        printf("\n");
    }

    mysql_free_result(res);
    mysql_close(&conn);

    system("pause");
    return 0;
}

登陆mysql :

c语言连接mysql测试结果:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值