当前位置: 首页 > news >正文

封装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

http://www.jsqmd.com/news/1282595/

相关文章:

  • 工业控制板PCB设计实战:多电源域与信号完整性深度解析
  • MATLAB在电力系统动态分析与仿真中的应用实践
  • TI TPIC7710EVM评估板深度解析:EPB电机驱动ASIC硬件设计与软件调试实战
  • 在Windows 11上运行Android应用的完整指南:Windows Subsystem for Android深度解析
  • Json粘贴为类
  • 2026年如何优选河源专业的薄膜电容器厂家?3个甄选维度指南 - geo交流
  • 如何快速掌握ComfyUI-WanVideoWrapper:面向新手的AI视频生成完整指南
  • 国内环境部署本地化AI编程助手:从DeepSeek模型到桌面集成全攻略
  • 2026 门头沟近代奢品调研,各类高端藏品线下可近距离比对 - 生活时报
  • 2026年如何甄选汕尾可靠的105薄膜电容生产厂家?3家优选对比指南 - geo交流
  • 通过ArcGIS对GlobeLand30影像镶嵌拼接并去除黑边
  • 目前最建议买的开放式耳机有哪些?实测揭晓十大顶级开放式耳机
  • C/C++ Util函数整理
  • AMA 0090-A7720 过滤盒
  • 揭秘5大核心技术:League Akari如何彻底改变英雄联盟游戏体验
  • 2026 年更新:吉安性价比高的虾饼机供应厂家推荐,用它做的虾饼,比街边摊还香,成本直接砍半你敢信? - 行业推荐【认证官】
  • 11. Container With Most Water 盛最多水的容器
  • CFBP神经网络在数据分类中的MATLAB实现与优化
  • [深入解析C#] 第 11 章:使用元组进行组合
  • 2026年GEO行业AI搜索引擎优化趋势与技术解析
  • 从零开始:如何用MIT App Inventor在30分钟内制作你的第一个手机应用
  • 表面粗糙度分析
  • 想要自动化一定不能从网页下载短视频APP-----例如抖音
  • 南京浮雕工艺手镯首饰回收,资深鉴定师上门核算首饰整体价值 - 每日生活报
  • 从加拿大议员AI演讲事件看LLM提示词泄露与公共领域应用安全
  • 海南俱乐部管理软件选型的技术判断与核验要点
  • 终极视频合成指南:ComfyUI-VideoHelperSuite VHS_VideoCombine节点完全解析
  • 1.10- 异常处理 try except
  • js验证ip的合法性,多个固定IP,多个IP段,IP通配符
  • 从蒸汽求职案例中,能看出服务方法是否稳定吗?