封装mysql SDK
/*测试代码 char**results; char**field new char*[4]; field[0] new char[64]; field[1] new char[64]; field[2] new char[64]; field[3] NULL; char*sn sn_id; char*name name; char*electricity request_count; strcpy_s(field[0], 64, sn); strcpy_s(field[1], 64, name); strcpy_s(field[2], 64, electricity); err seleteData(results, tableName, s_equipment_key, field); frees(field); frees(results); */ int selete_data(char**result, char* tableName, char* id, char**field) { MYSQL * sql get_mysql(); if (sql NULL) { printf(请连接数据库!!!\n); return NULL; } /*----------------------------------------SELECT字符串拼接start--------------------------------------*/ char* select SELECT %s ; int length strlen(select) strlen(field[0]) - 1; char*sentence (char*)calloc(length, sizeof(char)); sprintf_s(sentence, length, select, field[0]); int count 0; pointer_count((void**)field, count); for (int i 1; i count; i) { select ,%s ; length strlen(sentence); append_new_buffer(sentence, length, select, strlen(select));//SELECT sn_id ,%s length strlen(sentence) strlen(field[i]) - 1; char*select_ (char*)calloc(length, sizeof(char)); sprintf_s(select_, length, sentence, field[i]);////SELECT sn_id ,na_id if (sentence ! NULL) { free(sentence); sentence NULL; } sentence select_; } select FROM %s WHERE id%s; length strlen(sentence); append_new_buffer(sentence, length, select, strlen(select));//SELECT sn_id ,%s length length strlen(tableName) strlen(id) - 3; char*sentence_ (char*)calloc(length, sizeof(char)); sprintf_s(sentence_, length, sentence, tableName, id); if (sentence ! NULL) { free(sentence); sentence NULL; } /*-------------------------------------SELECT字符串拼接end-----------------------------------------*/ int err mysql_real_query(sql, sentence_, length); if (sentence_ ! NULL) { free(sentence_); sentence_ NULL; } if (err) { printf(查询时出错: %s !!!\n, mysql_error(sql)); return -1; } MYSQL_RES *m_res NULL; m_res mysql_store_result(sql);//将结果保存在res结构体中 //循环打印每行每个字段 MYSQL_ROW row NULL; row mysql_fetch_row(m_res); if (NULL row) { printf(没有查询到对应的数据!!!\n); return -1; } result (char**)calloc(count 1, sizeof(char*)); unsigned int t; for (t 0; t mysql_num_fields(m_res); t) { int length strlen(row[t]) 1; result[t] (char*)calloc(length, sizeof(char)); strcpy_s(result[t], length, row[t]); } result[t] NULL; /*for (t 0; t count; t) { printf(%s:%s\n, field[t], result[t]); }*/ mysql_free_result(m_res); return 0; }这是最初版本。请移步github

相关新闻

vue中央事件总线bus

vue中央事件总线bus

全局 1、新建 eventBus.js 文件import Vue from vue export default new Vue()2、引用 (哪里要用就import eventBus.js 文件)$on : 监听 $emit :触发 $off : 释放 ( 监听后一定要在beforeDestroy中释放)

2026/7/28 19:54:23 阅读更多
芯片设计CAD图纸与TinyMCE集成的SVG解决方案

芯片设计CAD图纸与TinyMCE集成的SVG解决方案

1. 芯片制造企业CAD图纸与TinyMCE集成的核心挑战在芯片设计领域,CAD图纸是工程师的"设计语言"。我们每天需要将版图(Layout)、原理图(Schematic)等设计文件插入技术文档系统。传统截图方式会导致&#xff1a…

2026/7/28 19:54:23 阅读更多
第三十五周学习生活总结

第三十五周学习生活总结

今天是2019年9月1日,是开学的第一天,不过正好赶上周末,我们也没有课。这是一个轻松地开始,但不代表是一个简单的过程。 小组刚刚才把官网项目新闻模块加载更多写完,从昨天晚上写到现在,虽说技术难度并不高&…

2026/7/28 19:44:22 阅读更多
ROS2通信接口解析:从DDS原理到机器人开发实践

ROS2通信接口解析:从DDS原理到机器人开发实践

1. ROS2通信接口的本质与演进在机器人开发领域,通信系统如同机器人的神经系统。ROS2对通信接口的重构,解决了ROS1时代诸多痛点。我曾参与过多个从ROS1迁移到ROS2的工业机器人项目,深刻体会到新架构带来的变革。ROS2采用DDS(数据分…

2026/7/29 5:06:04 阅读更多
Frida MemoryAccessMonitor:内存访问监控原理与逆向工程实战

Frida MemoryAccessMonitor:内存访问监控原理与逆向工程实战

1. 项目概述:为什么需要精准的内存读写监听?在逆向工程、安全研究或者应用调试的日常里,我们常常会遇到一个核心需求:我想知道某个程序在运行时,到底在内存的哪个位置、以什么方式、读取或修改了哪些数据。传统的断点调…

2026/7/29 5:06:04 阅读更多
2026年大数据分析工具推荐:性能与扩展对比

2026年大数据分析工具推荐:性能与扩展对比

大数据分析工具这几年的选择面确实宽了很多,从开源引擎到商业平台,从云上服务到本地部署,每家都在强调"快"和"大"。但在实际落地中,"大数据分析"真正难的不是能不能跑起来,而是当数据量…

2026/7/29 5:06:04 阅读更多
高通8155平台AOSP+BSP代码编译实战:从环境搭建到镜像烧录

高通8155平台AOSP+BSP代码编译实战:从环境搭建到镜像烧录

1. 项目概述:为什么高通8155平台的开源代码如此重要? 最近有不少做车机系统开发的朋友在后台问我,有没有高通8155平台最新的开源代码和编译方法。这确实是个好问题,也是当前智能座舱开发领域的一个核心痛点。高通骁龙8155芯片&am…

2026/7/29 5:06:04 阅读更多
基于STM32的智能小车设计:从硬件选型到PID循迹算法实战

基于STM32的智能小车设计:从硬件选型到PID循迹算法实战

1. 项目概述:从零打造一台“全能”智能小车搞嵌入式开发,尤其是玩单片机的朋友,十个里有八个都绕不开“智能小车”这个经典项目。它就像电子工程师的“Hello World”,但远比打印一行字复杂和有趣得多。今天我想分享的,…

2026/7/29 5:06:04 阅读更多
IP地址与子网掩码计算:网络排错与规划的必备基本功

IP地址与子网掩码计算:网络排错与规划的必备基本功

1. 从一次真实的网络故障说起:为什么IP计算是基本功那天下午,整个办公室的网络突然变得奇慢无比,部分同事甚至完全无法访问内部的文件服务器。作为团队里对网络稍有了解的人,我被叫去帮忙。初步排查,路由器和交换机指示…

2026/7/29 4:56:04 阅读更多