• C语言连接mysql数据库


    操作系统:win7/64

    编译软件:VS2010

    数据库:5.7.11

    从C语言连接mysql数据库包含两个步骤:

    1 初始化连接句柄结构

    2 实际创建连接

    测试代码1:

    #include "stdafx.h"
    #include <WinSock2.h> /*socket通信,系统头文件*/
    #include <windows.h>
    #include <stdio.h>
    #include "mysql.h"
    #pragma comment(lib, "libmysql.lib")
    int main()
    {
        MYSQL *conn;
        char *server = "localhost";
        char *user = "root";
        char *password = "root";//“******”为你设置的密码
        char *database = "hyx";
        conn = mysql_init(NULL);
        if(!mysql_real_connect(conn, server, user, password, database, 0, NULL, 0))
            printf("连接失败:%s", mysql_error(conn));
        else
            printf("连接成功!");
        getchar();
        return 0;
    }

    测试结果1:

    遇到的问题:

    error LNK2019: 无法解析的外部符号 _mysql_real_connect@32,该符号在函数 _main 中被引用
    error LNK2019: 无法解析的外部符号 _mysql_query@8,该符号在函数 _main 中被引用
    error LNK2019: 无法解析的外部符号 _mysql_init@4,该符号在函数 _main 中被引用
    error LNK2019: 无法解析的外部符号 _mysql_close@4,该符号在函数 _main 中被引用

    解决方法:

    原因如下,我使用的系统是win7x64,MySQL 64位的lib也是64位的接口。所以解决方法如下:
    .项目->属性->配置管理器
    活动解决方案平台,下拉选新建,出现一个新的对号框,在键入选择新平台中选择X64

    重新编译  成功~~~

    测试代码2:

    #include "stdafx.h"
    #include <WinSock2.h> /*socket通信,系统头文件*/
    #include <windows.h>
    #include <stdio.h>
    #include "mysql.h"
    #pragma comment(lib, "libmysql.lib")
    int main()
    {
        MYSQL my_connection;
        char *server = "localhost";
        char *user = "root";
        char *password = "root";//“******”为你设置的密码
        char *database = "hyx";
        mysql_init(&my_connection);
        if(!mysql_real_connect(&my_connection, server, user, password, database, 0, NULL, 0))
            printf("连接失败:%sn", mysql_error(&my_connection));
        else
            printf("连接成功!");
        getchar();
        return 0;
    }

    测试结果2:

    问题:测试代码1与测试代码2只有标黑的两行不同,但是一个连接成功了,一个连接失败了,这是什么原因?

    VS中快捷键
    F12 转到定义处
    ctrl+"-" 从定义处返回
    F7 编译
    ctrl+F5  运行
    F5 执行到下一个断点
    F10 调试(逐过程)
    F11  调试(逐语句)



  • 相关阅读:
    python 获取当前执行的命令 处于什么文件内
    FlatBuffers
    flink
    auto_ptr,unique_ptr,shared_ptr,weak_ptr
    Java DES 加解密文件
    quartz Web项目基础最简单配置
    C# webbrowser 修改useragent
    bat产生随机数并复制文件及生成文件列表
    outlook 用宏发邮件
    SSL证书请求文件(CSR)生成指南
  • 原文地址:https://www.cnblogs.com/myidea/p/5259498.html
Copyright © 2020-2023  润新知