C语言连接MySql数据库
C语言连接MySql数据库(CodeBlocks)
操作系统:Windows7(32位)
编译软件:Code::Blocks 10.05
数 据 库:mysql-5.1.62-win32
数据库内的数据:

测试代码:

#include <stdio.h>
#include <winsock2.h>
#include <mysql.h>
/*数据库连接用宏*/
#define HOST "localhost"
#define USERNAME "root"
#define PASSWORD "123456"
#define DATABASE "test" int main()
{
char *query;
query="select * from t2";
query_sql(query);
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("数据库连接失败");
}
}

测试结果:

注意事项:
1.在Linker settings->Link libraries中添加libmysql.lib的路径
2.在Search directories->的Compiler中添加mysql.h的文件夹路径
(总之就是让编译器能找到libmysql.lib和mysql.h)
3.在#include <mysql.h>之前添加#include <winsock2.h>(网上很多资料没有这一步,但是我这边实际操作时发现不加这一句编译无法通过)
C语言连接MySql数据库的更多相关文章
- Linux centos 7/ubantu下: 用 C 语言连接 MySQL数据库
		
前言:最近用IPC.socket做ATM.聊天项目,考虑到需要用到数据库,所以总结一下centos.ubantu环境下怎么用C语言操作数据库,例如常见的增删改查等! 一.Centos环境安装mysql ...
 - c语言连接mysql数据库的实现方法
		
C语言连接mysql数据库,需要相应的头文件和lib文件,如果你安装Mysql数据库,会在安装目录下找到这些库文件,如果没有安装,也可以在网上找到 我这里也有一份网上找到的:/201205/other ...
 - R语言-连接MySQL数据库方法
		
版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] R语言连接数据库常用的方法有2种: 1.使用R数据库接口 连接MySQL,使用RMySQL包,使用前RMySQL包要先安 ...
 - C语言连接MySQL数据库(课程设计总结)
		
刚结束课程设计,也预示着假期立即就要到来了.本次课程设计并不算难,无非就是让做一个XXX系统,实现用户的注冊.登录.菜单管理.超级用户等等一些功能,到如今为止已经做过好几个了,所以基本流程都熟悉了! ...
 - C语言连接MySQL数据库(转)
		
c++连接MySQL有两种方式,1是原始的方法,2是用 Connector c++ .Connector c++ 只是一种封装,使之更加方便. 1.原始方法 这里归纳了C API可使用的函数,并在下 ...
 - 通过Java语言连接mysql数据库
		
1加载驱动 2创建链接对象 3创建语句传输对象 4接受结果集 5遍历 6关闭资源
 - 用C语言操作MySQL数据库,进行连接、插入、修改、删除等操作
		
C/C++ code ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 3 ...
 - Linux下C语言连接MySQL
		
本文出自 http://blog.csdn.net/shuangde800 首先保证安装: 1:安装MySQL:sudo apt-get install mysql-server mysql-cl ...
 - C语言连接mysql -insert-update
		
C语言连接mysql数据库实现insert语句:数据库:test表:systeminfo CREATE TABLE `systeminfo` ( `id` int(11) NOT NULL AUTO ...
 
随机推荐
- (三)phpcms之文件目录
			
刚刚接触phpcms,先从它的目录结构说起. 如下图所示,是phpcms的主目录结构: 其中api是接口目录,这个接口不是很明白.大概其是把别的内容加入进来,比如论坛啊什么的. caches是缓存文件 ...
 - Android ListView的背景和黑色边缘化的问题
			
解决方法1:给listview加上android:scrollingCache=”false”属性 解决方法2:给listview加上android:cacheColorHint="#000 ...
 - SDUT2608(Alice and Bob)
			
题目描述 Alice and Bob like playing games very much.Today, they introduce a new game. There is a polynom ...
 - hadoop处理Excel通话记录
			
前面我们所写mr程序的输入都是文本文件,但真正工作中我们难免会碰到需要处理其它格式的情况,下面以处理excel数据为例 1.项目需求 有刘超与家庭成员之间的通话记录一份,存储在Excel文件中,如下面 ...
 - hdu2660 Accepted Necklace (DFS)
			
Problem Description I have N precious stones, and plan to use K of them to make a necklace for my mo ...
 - myeclipse配置svn亲测
			
1.安装目录更改为myeclipse install 目录:E:\MyEclipse85\MyEclipse 8.5common 目录: E:\MyEclipse85\Common ...
 - android开发之AlertDialog点击按钮之后不消失                                                    分类:            android             学习笔记             2015-07-15 18:07    89人阅读    评论(0)    收藏
			
最近有这样一个需求,我需要用户在一个弹出框里输入密码来验证,验证成功当然好说,但是如果验证失败则需要把alertdialog的标题改为"密码错误,请重新输入",并且这个alertd ...
 - Java基础知识强化12:Java中运用数组的四种排序方法
			
1.使用JavaApi文档中的Arrays类中的sort()进行快速排序 首先我们直接看代码如下: package himi.text; import java.util.Arrays; public ...
 - 知识点摸清    - -    function()——JavaScript 函数名后什么时候加括号,什么时候不
			
加括号——调用函数 只要是要调用函数执行的,都必须加括号. 此时,function()实际上等于函数的返回值.(没有返回值也已经执行了函数体内的行为).就是说,只要加括号的,就代表将会执行函数体代码. ...
 - 发布MVC IIS 报错未能加载文件或程序集“System.Web.Http.WebHost
			
未能加载文件或程序集“System.Web.Http.WebHost, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e3 ...