C 连接mysql VC的步骤

初学C,看到C 连接mysql的教程不是很多,遇到很多的问题,看过许多盟友的解决方法,有点模糊(对我这个菜鸟来说),下面贴出具体步骤,一起学习:

1.C连接mysql的方法:C ,C ++ ,ODBC ,java ,Net .......,这里看C的连接,首先进入mysql驱动官网下载connector/c http://dev.mysql.com/downloads/connector/ 选择C版下载

                           

  2.C  在vc 6环境下连接mysql :下面贴出源码(看别人写的,以此作参考)

#include "stdafx.h"

#include <stdio.h>
#include <winsock2.h>
#include <mysql.h>
#include <stdlib.h>
/*数据库连接用宏*/
#define HOST "localhost"
#define USERNAME "root"
#define PASSWORD "root"
#define DATABASE "test"
void query_sql(char* sql);
int main()
{
    char *query;
    query="select * from a";
    query_sql(query);
	system("pause");
    return 0;
}
void query_sql(char* sql)
{
    MYSQL my_connection; /*这是一个数据库连接*/
    int res; /*执行sql語句后的返回标志*/
    MYSQL_RES *res_ptr; /*指向查询结果的指针*/
    MYSQL_FIELD *field; /*字段结构指针*/
    MYSQL_ROW result_row; /*按行返回的查询信息*/
    int row, column; /*查询返回的行数和列数*/
    int i, j;
    /*初始化mysql连接my_connection*/
    mysql_init(&my_connection);
    /*建立mysql连接*/
    if (NULL != mysql_real_connect(&my_connection, HOST, USERNAME, PASSWORD,
                                   DATABASE, 0, NULL, CLIENT_FOUND_ROWS))  /*连接成功*/
    {
        printf("数据库查询query_sql连接成功!\n");
        /*设置查询编码为gbk,以支持中文*/
        mysql_query(&my_connection, "set names gbk");
        res = mysql_query(&my_connection, sql);
        if (res)   /*执行失败*/
        {
            printf("Error: mysql_query !\n");
            /*关闭连接*/
            mysql_close(&my_connection);
        }
        else     /*现在就代表执行成功了*/
        {
            /*将查询的結果给res_ptr*/
            res_ptr = mysql_store_result(&my_connection);
            /*如果结果不为空,就把结果print*/
            if (res_ptr)
            {
                /*取得結果的行数和*/
                column = mysql_num_fields(res_ptr);
                row = mysql_num_rows(res_ptr);
                printf("查询到 %d 行 \n", row);
                /*输出結果的字段名*/
                for (i = 0; field = mysql_fetch_field(res_ptr); i++)
                    printf("%10s ", field->name);
                printf("\n");
                /*按行输出結果*/
                for (i = 1; i < row+1; i++)
                {
                    result_row = mysql_fetch_row(res_ptr);
                    for (j = 0; j < column; j++)
                        printf("%10s ", result_row[j]);
                    printf("\n");
                }
            }
            /*不要忘了关闭连接*/
            mysql_close(&my_connection);
        }
    }
    else
    {
        printf("数据库连接失败");
    }
}

  3.加入头文件所需要的mysql.h所需要的库

步骤:工具==》》选项==》》目录(点击此选项)==》》include files 选择添加

         3.加入mysql.h的实现,在win平台为libmysql.lib文件(至于为什么是lib文件,看图理解或者自己上网理解)

                     

                               

                3.在环境编译时加入此文件libmsql.lib步骤:

                          工程==》设置==》连接 (选此选项卡)==》在对象/库模块中加入libmysql.lib 

                              

4.此时再讲动态连接库libmysql.dll复制到要发布的realse/debug 目录下(因为dll 是动态运行时才加载的可执行文件,此时确保能正常运行)一定要这步,不然会报错说找不到这个文件

                             

5.编译运行:结果

                             

总结:

       C连接数据库有两种形式。一种是官方提供的C驱动包,另一种是ODBC的连接。代码中引入的文件mysql.h 是对mysql的操作的声明,实现的方法文件是libmysqld.dll 文件,而libmysql.lib 文件是为了编译时能加入libmysqld.dll的函数让编译器通过,知道有此函数的实现。但是这种连接方法是和mysql数据库耦合在一起的,代码的可维护性非常不好,推荐使用ODBC吧(愚解)。

时间: 2024-12-11 02:43:56

C 连接mysql VC的步骤的相关文章

VS2010/VS2013项目创建及通过ADO.NET连接mysql/sql server步骤(VS2013连接成功步骤见上一篇随笔)

本随笔主要是对初学者通过ADO.NET连接数据库的步骤(刚开始我也诸多不顺,所以总结下,让初学者熟悉步骤) 1.打开VS新建一个项目(这里的VS版本不限,建项目都是一样的步骤) VS2010版本如图: VS2013版本如图: 2.非空项目创建后,右侧“解决方案管理器”中会有一个“models”文件,右键“models”,具体步骤如下: 2-1步骤 2-2步骤 2-3步骤 2-3-1  注意这个是VS2010版本的截图 2-4步骤 2-5步骤 2-6步骤 2-7步骤 2-8步骤 2-10步骤 2-

Java连接MySQL数据库——含步骤和代码

工具:eclipse MySQL5.6 MySQL连接驱动:mysql-connector-java-5.1.27.jar 加载驱动: 1. 在工程目录中创建lib文件夹,将下载好的JDBC放到该文件夹下,如下图所示: 2. 右键工程名,在java build path中的Libraries分页中选择Add JARs...,选择刚才添加的JDBC,如下图: 数据包准备: 在数据库sqltestdb中创建如下数据表emp: CREATE TABLE emp( empno INT(4) PRIMAR

eclipse连接MySQL数据库的步骤

java可以兼容目前市面上所有类型的数据库,主要是因为提供了两个接口,一个用于连接目标数据库,一个用于向数据库中传输SQL命令. Connection接口——连接目标数据库: Statement  接口——向目标数据传送SQL命令: 这里主要介绍Eclipse连接MySqL数据库的流程(MySQL以5.7版本为例): 1.导入JDBC驱动包 Class.forName("com.mysql.jdbc.Driver"); 2.获取连接对象(连接目标数据库) Connection conn

java连接mysql数据库具体步骤

在写代码之前在项目中新建一个文件夹,然后将java和mysql的驱动器复制进去,然后添加到build path,就OK了. import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class jbd { private static final String URL = "jdbc:mysql://127.0.0.

CentOS 6.5 下 QT4 连接 mysql 数据库的步骤

QT4 的安装请参考: CentOS 6.5 下安装 QT 4 mysql 的安装请参考: CentOS 6.5 下安装配置 mysql 1.预防万一,先安装一下mysql-devel(一定要装!). 不安装的话后面编译会出现找不到-lmysqlclient的问题. 2. 开始编译: cd $QTDIR/src/plugins/sqldrivers/mysql   //进入QT那个存放mysql驱动源码的目录`` qmake "INCLUDEPATH+=/usr/include/mysql&qu

C++ ADO方式连接mysql数据库

对于软件开发其实说白了就是在不停地和数据打交道, 所以数据库的操作是必不可少的, 接下来介绍VC开发中利用ADO建立ODBC数据源来访问MySQL数据库. 从我接触的数据库编程方式来说, 我觉得在vc开发连接数据库是比较难的, 也是很容易出错. 在android中, 系统自带sqlite数据库,只需要使用SQLiteOpenHelper抽象类即可完成与数据库的操作. 在java中, 使用jdbc连接mysql数据库, 下载相应jar调用相应接口,传入数据库类型与用户名密码进行数据库的操作. 但是

PHP连接Mysql服务器的操作

我们的数据存储在数据库中以后,要把数据和网页联系起来的话,要通过web服务器的解释器进行读取数据,再传递给客户端网页.如图: 这里,我选择了PHP作为学习的解释器.下面就具体来总结一下PHP连接MYSQL服务器的步骤. 1).连接到MYSQL服务器 //语法:$conn=mysqli_connect('ip地址','用户名','密码','数据库',端口号); //如在XAMPP搭建的环境下的设置情况: $conn=mysqli_connect('127.0.0.1','root','','fan

R语言-连接MySQL数据库方法

版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] R语言连接数据库常用的方法有2种: 1.使用R数据库接口 连接MySQL,使用RMySQL包,使用前RMySQL包要先安装. library(RMySQL) 连接方式有2种: (1)使用dbConnectconn <- dbConnect(MySQL(), dbname = "rmysql", username="rmysql", password="rmysql",

VC连接mysql数据库错误:libmysql.lib : fatal error LNK1113: invalid machine 解决方法

VC连接MySQL的配置过程在上一篇博文中,不过当你设置好,以为万事大吉的时候,运行却出现这个错误:libmysql.lib : fatal error LNK1113: invalid machine type. 无效的机器类型,真的是很让人捉急. 发生这个错误的原因是,我在win8.1上安装的是64bit的mysql服务器,而我编译32位的VC程序,连接的是64位的libmysql.lib库,所以会产生 “无效的机器类型(invalid machine type)”的错误提示. 对于这个“e