c 获取数据库数据计算机,使用c从单板计算机写入mysql数据库使用c
您需要在系统上安装第一的libmysqlclient-dev软件包(我假设你在linux下),那么你可以修改这个代码,以满足您的需要:
#include
#include
#include
#include
#include
#define BUFFER_SIZE 1024 // Increase this buffer if yoy want
/* This function is used for the database connection */
MYSQL * my_mysql_connection(const char *server, const char *db, const char *user, const char *pwd)
{
MYSQL *myh;
/* Some initialisation */
if (NULL == (myh = mysql_init(NULL)))
{
fprintf(stdeee, "Fails to allocate memory for MYSQL!\n");
exit (EXIT_FAILURE);
}
/* Connect to the database. */
if (NULL == mysql_real_connect (myh, server, user, pwd, db, 0, NULL, 0))
{
fprintf(stderr, "%s", mysql_error(myh));
free (myh);
return NULL;
}
return myh;
}
/* This function is used to perform a query */
int my_mysql_query(MYSQL *myh, const char *query)
{
/* Do the query request */
if (0 != mysql_query(myh, query))
{
fprintf(stderr, "FAIL to perform the query : '%s' %s\n", query, mysql_error(myh));
exit (EXIT_FAILURE);
}
return 0;
}
/*
* Suppose that your table students_table has this fields : student_number, student_name,
* student_address, student_phone
*/
/* This function is used to get and process the result of the query */
void my_mysql_process_query_result(MYSQL * myh)
{
int num_fields;
int i;
MYSQL_RES *query_result;
MYSQL_FIELD *field;
MYSQL_ROW row;
char *buffer;
buffer = (char *) calloc(BUFFER_SIZE, sizeof(char));
/* Select all students present in the students_table */
if (my_mysql_query(myh, "SELECT student_number, student_name, student_address, student_phone FROM students_table"))
{
exit (EXIT_FAILURE);
}
query_result = mysql_store_result (myh);
/* Retreive the number of rows and fields */
field = mysql_fetch_fields(query_result);
num_fields = mysql_num_fields(query_result);
/* construct the buffer containing each row */
while ((row = mysql_fetch_row (query_result)))
{
/* Init our buffer with fields sperated by ";", modify if you need, it's just an example */
memset(buffer, '\0', sizeof*buffer);
for (i = 0; i < num_fields - 1; i++)
{
strncat(buffer, row[i], strlen(row[i]) + 1);
strncat(buffer, ";", 2);
}
strncat(buffer, row[i], strlen(row[i]) + 1);
strncat(buffer, "\n", 2);
// You can process your buffer (row) here
process_student_row(buffer);
}
free(buffer);
mysql_free_result (query_result);
}
不要忘了链接到mysqlclient库:-lmysqlclient。
编辑:
您可以在Debian安装的libmysqlclient-DEV(http://packages.debian.org/squeeze/libmysqlclient-dev)是这样的:
sudo apt-get update
sudo apt-get install libmysqlclient-dev
您可以编译你的程序是这样的:
gcc -Wall my_msql_program.c -o my_mysql_program -lmysqlclient
c 获取数据库数据计算机,使用c从单板计算机写入mysql数据库使用c相关推荐
- Mysql更新数据库数据sql_一条更新SQL在MySQL数据库中是如何执行的
前边的在<一条SQL查询在MySQL中是怎么执行的>中我们已经介绍了执行过程中涉及的处理模块,包括连接器.分析器.优化器.执行器.存储引擎等.今天我们来一起看看一条更新语句又是怎么一个执行 ...
- typescript获取数据库数据_肿瘤药敏多组学数据库(GDSC)的数据介绍和获取
在第一期的GDSC数据总览中,我们根据数据库的模块进行总体的介绍.今天我们再深入了解GDSC所包含的数据及其获取的方法,也就是GDSC的数据下载模块. GDSC数据下载的模块,分为4个模块,分别是AN ...
- python爬取新闻并归数据库_Python爬取数据并写入MySQL数据库操作示例
Python爬取数据并写入MySQL数据库的实例 首先我们来爬取 http://html-color-codes.info/color-names/ 的一些数据. 按 F12 或 ctrl+u 审查元 ...
- python爬取mysql数据_Python爬取数据并写入MySQL数据库的实例
Python爬取数据并写入MySQL数据库的实例 来源:中文源码网 浏览: 次 日期:2018年9月2日 [下载文档: Python爬取数据并写入MySQL数据库的实例.txt ] (友 ...
- python写入mysql数据库_python调用http接口,数据写入mysql数据库并下载录音文件
写个脚本一共完成了三件事: 第一,python调用http接口, 第二,把调用到的数据写入mysql数据库, 第三,python调用wsdl接口,获取录音文件, import time import ...
- python爬取新闻存入数据库_Python爬取数据并写入MySQL数据库的实例
按 F12 或 ctrl+u 审查元素,结果如下: 结构很清晰简单,我们就是要爬 tr 标签里面的 style 和 tr 下几个并列的 td 标签,下面是爬取的代码: #!/usr/bin/env p ...
- php 分表 实战,PHP实战:1亿条数据如何分表100张到Mysql数据库中(PHP)
<PHP实战:1亿条数据如何分表100张到Mysql数据库中(PHP)>要点: 本文介绍了PHP实战:1亿条数据如何分表100张到Mysql数据库中(PHP),希望对您有用.如果有疑问,可 ...
- python爬取玉米、小麦、水稻信息数据到本地为网页形式和mysql数据库中
1.创建Scrapy项目 scrapy startproject ExGrain 2.进入项目目录,使用命令genspider创建Spider scrapy genspider exgrain ex- ...
- 爬取数据并写入MySQL数据库
1.爬取思路总结概述: a.请求网页,获取json数据:request函数 b.使正则re 模块,提取出 { {--} }信息所在部分的字典 :re.search() c.为了防止连续请求中出现,IP ...
最新文章
- JavaWeb: 报错信息The superclass javax.servlet.http.HttpServlet was not found on the Java Build Path...
- 【学习】Java的反射机制
- 使用DOM操纵样式表
- mysql用一条sql语句删除重复记录_mysql中删除重复记录,并保留重复数据中的一条数据的SQL语句...
- ubuntu 修改ip后,老ip仍然存在的问题
- 常见数据结构(二)-树(二叉树,红黑树,B树)
- xcod8 subviews 变成 1000x1000
- 消息轰炸(python)
- 页面html背景图片居中显示文字,DIV+CSS中让布局、背景图片、文字内容居中的方法...
- 2017年中国大数据发展趋势和展望解读(上)
- 汽车装配线粘合剂市场现状及未来发展趋势
- 一只大二狗的Android历程--文件输入输出流 SharedPreference
- 聊聊Benchmark测试【转载】
- 2023年音视频开发前景如何?音视频开发需要掌握哪些技术?
- VirtualBox虚拟机怎么复制文件到物理机(主机)
- 国内外MCU厂商及产品线最全盘点
- H264码流分析工具
- docker部署Harbor
- html5 电影选座位效果,为你的网页做出电影的过场效果
- OA系统前台模板-html