初学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吧(愚解)。

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

  1. java连接mysql数据库详细步骤解析

    java连接mysql数据库详细步骤解析      第一步:下载一个JDBC驱动包,例如我用的是:mysql-connector-java-5.1.17-bin.jar      第二步:导入下载的J ...

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

    本随笔主要是对初学者通过ADO.NET连接数据库的步骤(刚开始我也诸多不顺,所以总结下,让初学者熟悉步骤) 1.打开VS新建一个项目(这里的VS版本不限,建项目都是一样的步骤) VS2010版本如图: ...

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

    工具:eclipse MySQL5.6 MySQL连接驱动:mysql-connector-java-5.1.27.jar 加载驱动: 1. 在工程目录中创建lib文件夹,将下载好的JDBC放到该文件 ...

  4. ASP.NET 连接MySQL数据库 详细步骤

    ASP.NET默认的数据库是MS SQL Server,微软的数据库产品.事实上,如果不计成本因素的话,Windows Server + IIS + MS SQL Server + ASP.NET是网 ...

  5. Eclipse通过JDBC连接MySQL数据库的步骤(最原始的几个步骤)

    java可以兼容目前市面上所有类型的数据库,主要是因为提供了两个接口,一个用于连接目标数据库,一个用于向数据库中传输SQL命令. Connection接口——连接目标数据库: Statement  接 ...

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

    QT4 的安装请参考: CentOS 6.5 下安装 QT 4 mysql 的安装请参考: CentOS 6.5 下安装配置 mysql 1. 预防万一,先安装一下mysql-devel(一定要装!) ...

  7. java连接MySQL数据库操作步骤

    package com.swift; //这里导入的包是java.sql.Connection而不是com.mysql.jdbc.Connection import java.sql.Connecti ...

  8. 本地连接MySQL云服务器步骤与解决方案

    云服务器:aliyun MySQL 版本:mysql8 第一步首先,检查云服务器的 网络与安全 -> 安全组 是否开放了(MySQL)3306端口 第二步,登陆云服务器上的MySQL,检查需要远 ...

  9. PHP连接Mysql服务器的操作

    我们的数据存储在数据库中以后,要把数据和网页联系起来的话,要通过web服务器的解释器进行读取数据,再传递给客户端网页.如图: 这里,我选择了PHP作为学习的解释器.下面就具体来总结一下PHP连接MYS ...

随机推荐

  1. 几个平台环境里视频编解码和图像scale的硬件加速的方法

    记录一下遇到几个平台里的视频编解码和图像scale的硬件加速的方法 1,intel平台当包含GEN系列的集成GPU时,可用libva实现视频codec.颜色空间转换和图像scale的硬件加速,具体可使 ...

  2. 复制粘贴之插件(clipboard.min.js)不需要安装flash

    <!DOCTYPE html> <html> <head> <title>ZeroClipboard Test</title> <me ...

  3. 从“跳一跳”来看微信小程序的未来

    从“跳一跳”来看微信小程序的未来   相信大家这两天都被微信新推出的小程序跳一跳刷爆了朋友圈,为了方便用户在使用过程中切换小程序,微信在这次6.6.1版本中加入了下拉可快速切换小程序的功能,而“跳一跳 ...

  4. 爬虫抓包工具Charles设置

    1.安装注册 感谢https://www.jianshu.com/p/89111882fa99提供注册码软件去官网下载安装即可. Registered Name:https://zhile.io Li ...

  5. jquery的动画学习--jquery权威指南

        前面的fadeIn和fadeOut还有fadeTo以及sildeToggle还有sildeUp\sildeDown还有toggle还有show.hide等都经常用,就不再手写了,需要注意的是f ...

  6. [SCOI2005]王室联邦

    分块基本没有限制 所以每次大于等于b就分一块 # include <bits/stdc++.h> # define RG register # define IL inline # def ...

  7. [Shoi2007]Vote 善意的投票

    题目描述 幼儿园里有n个小朋友打算通过投票来决定睡不睡午觉.对他们来说,这个问题并不是很重要,于是他们决定发扬谦让精神.虽然每个人都有自己的主见,但是为了照顾一下自己朋友的想法,他们也可以投和自己本来 ...

  8. [BZOJ1607] [Usaco2008 Dec] Patting Heads 轻拍牛头 (数学)

    Description 今天是贝茜的生日,为了庆祝自己的生日,贝茜邀你来玩一个游戏. 贝茜让N(1≤N≤100000)头奶牛坐成一个圈.除了1号与N号奶牛外,i号奶牛与i-l号和i+l号奶牛相邻.N号 ...

  9. 【Webpack的使用指南 01】Webpack入门

    使用Webpack有一段时间了,但是感觉之前学的用的都比较零散,所以在这里整理一下Webpack的使用知识,从入门到进阶. 创建项目 首先创建最简单的一个项目 npm init 得到以下项目结构: 安 ...

  10. mycat操作MySQL第一篇:全局表

    1.安装mycat,点击bin下面startup_nowrap.bat启动 2.客户端连接mycat:server.xml里面的 <!--连接mycat用户名和密码.数据库--> < ...