封裝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(請連接數(shù)據(jù)庫!!!\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(查詢時(shí)出錯: %s !!!\n, mysql_error(sql)); return -1; } MYSQL_RES *m_res NULL; m_res mysql_store_result(sql);//將結(jié)果保存在res結(jié)構(gòu)體中 //循環(huán)打印每行每個(gè)字段 MYSQL_ROW row NULL; row mysql_fetch_row(m_res); if (NULL row) { printf(沒有查詢到對應(yīng)的數(shù)據(jù)!!!\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

相關(guān)新聞

vue中央事件總線bus

vue中央事件總線bus

全局 1、新建 eventBus.js 文件import Vue from vue export default new Vue()2、引用 (哪里要用就import eventBus.js 文件)$on : 監(jiān)聽 $emit :觸發(fā) $off : 釋放 ( 監(jiān)聽后一定要在beforeDestroy中釋放)

2026/8/2 12:06:19 閱讀更多
芯片設(shè)計(jì)CAD圖紙與TinyMCE集成的SVG解決方案

芯片設(shè)計(jì)CAD圖紙與TinyMCE集成的SVG解決方案

1. 芯片制造企業(yè)CAD圖紙與TinyMCE集成的核心挑戰(zhàn)在芯片設(shè)計(jì)領(lǐng)域,CAD圖紙是工程師的"設(shè)計(jì)語言"。我們每天需要將版圖(Layout)、原理圖(Schematic)等設(shè)計(jì)文件插入技術(shù)文檔系統(tǒng)。傳統(tǒng)截圖方式會導(dǎo)致&#xff1a…

2026/8/1 19:44:45 閱讀更多
第三十五周學(xué)習(xí)生活總結(jié)

第三十五周學(xué)習(xí)生活總結(jié)

今天是2019年9月1日,是開學(xué)的第一天,不過正好趕上周末,我們也沒有課。這是一個(gè)輕松地開始,但不代表是一個(gè)簡單的過程。 小組剛剛才把官網(wǎng)項(xiàng)目新聞模塊加載更多寫完,從昨天晚上寫到現(xiàn)在,雖說技術(shù)難度并不高&…

2026/8/1 21:40:07 閱讀更多
Gemini 1.5 Flash長上下文模型實(shí)戰(zhàn):從成本解析到代碼庫、文檔分析應(yīng)用

Gemini 1.5 Flash長上下文模型實(shí)戰(zhàn):從成本解析到代碼庫、文檔分析應(yīng)用

1. 從“1塊8讀完三體”說起:我們到底在期待什么? 最近,谷歌AI扔下了一顆“性價(jià)比”炸彈,標(biāo)題黨們紛紛打出了“1塊8讀完3本《三體》”的噱頭。這個(gè)數(shù)字乍一看確實(shí)抓人眼球,但作為一個(gè)在AI應(yīng)用和成本優(yōu)化上折騰了多年的老…

2026/8/2 12:05:39 閱讀更多
1.54英寸OLED模塊驅(qū)動全攻略:從硬件選型到ESP32/STM32實(shí)戰(zhàn)應(yīng)用

1.54英寸OLED模塊驅(qū)動全攻略:從硬件選型到ESP32/STM32實(shí)戰(zhàn)應(yīng)用

1. 項(xiàng)目概述:1.54英寸OLED模塊的入門與核心價(jià)值如果你正在尋找一塊尺寸適中、顯示效果驚艷、又足夠省電的屏幕來為你的嵌入式項(xiàng)目“點(diǎn)睛”,那么1.54英寸的OLED模塊絕對是一個(gè)繞不開的明星選手。我手頭這塊模塊,分辨率通常是128x64或240x240&a…

2026/8/2 12:05:39 閱讀更多
5分鐘掌握本地視頻字幕提取:從繁瑣到高效的全新體驗(yàn)

5分鐘掌握本地視頻字幕提取:從繁瑣到高效的全新體驗(yàn)

5分鐘掌握本地視頻字幕提取:從繁瑣到高效的全新體驗(yàn) 【免費(fèi)下載鏈接】video-subtitle-extractor 視頻硬字幕提取,生成srt文件。無需申請第三方API,本地實(shí)現(xiàn)文本識別。基于深度學(xué)習(xí)的視頻字幕提取框架,包含字幕區(qū)域檢測、字幕內(nèi)容提…

2026/8/2 12:05:39 閱讀更多
MoneyPrinterPlus實(shí)戰(zhàn)指南:AI視頻批量生成與自動化發(fā)布完整解決方案

MoneyPrinterPlus實(shí)戰(zhàn)指南:AI視頻批量生成與自動化發(fā)布完整解決方案

MoneyPrinterPlus實(shí)戰(zhàn)指南:AI視頻批量生成與自動化發(fā)布完整解決方案 【免費(fèi)下載鏈接】MoneyPrinterPlus AI一鍵批量生成各類短視頻,自動批量混剪短視頻,自動把視頻發(fā)布到抖音,快手,小紅書,視頻號上,賺錢從來沒有這么容易過! 支持本地語音模型chatTTS,fasterwhisper,…

2026/8/2 0:04:00 閱讀更多
3分鐘搞定!QQ空間歷史說說完整備份終極指南

3分鐘搞定!QQ空間歷史說說完整備份終極指南

3分鐘搞定!QQ空間歷史說說完整備份終極指南 【免費(fèi)下載鏈接】GetQzonehistory 獲取QQ空間發(fā)布的歷史說說 項(xiàng)目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你是否曾想過,那些年發(fā)過的QQ空間說說,那些記錄青春的文字…

2026/8/2 0:04:01 閱讀更多
MoneyPrinterPlus實(shí)戰(zhàn)指南:AI視頻批量生成與自動化發(fā)布完整解決方案

MoneyPrinterPlus實(shí)戰(zhàn)指南:AI視頻批量生成與自動化發(fā)布完整解決方案

MoneyPrinterPlus實(shí)戰(zhàn)指南:AI視頻批量生成與自動化發(fā)布完整解決方案 【免費(fèi)下載鏈接】MoneyPrinterPlus AI一鍵批量生成各類短視頻,自動批量混剪短視頻,自動把視頻發(fā)布到抖音,快手,小紅書,視頻號上,賺錢從來沒有這么容易過! 支持本地語音模型chatTTS,fasterwhisper,…

2026/8/2 0:04:00 閱讀更多
3分鐘搞定!QQ空間歷史說說完整備份終極指南

3分鐘搞定!QQ空間歷史說說完整備份終極指南

3分鐘搞定!QQ空間歷史說說完整備份終極指南 【免費(fèi)下載鏈接】GetQzonehistory 獲取QQ空間發(fā)布的歷史說說 項(xiàng)目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你是否曾想過,那些年發(fā)過的QQ空間說說,那些記錄青春的文字…

2026/8/2 0:04:01 閱讀更多
AMAT 0100-02186 I/O 分配 PCB

AMAT 0100-02186 I/O 分配 PCB

AMAT 0100-02186 I/O分配PCB板是應(yīng)用材料(Applied Materials)公司生產(chǎn)的一款用于半導(dǎo)體設(shè)備的I/O信號分配電路板。該型號(0100-02186)的核心特點(diǎn)如下:專用于Endura等半導(dǎo)體工藝腔室。集成信號路由與分配功能。連接控制…

2026/8/2 2:51:21 閱讀更多
Nissei Corp FFMN-32L-10-T0 40AX 三相異步電動機(jī)

Nissei Corp FFMN-32L-10-T0 40AX 三相異步電動機(jī)

Nissei Corp FFMN-32L-10-T0 40AX 三相異步電動機(jī)是日本日清(Nissei)品牌的一款工業(yè)用三相異步電機(jī),適用于自動化設(shè)備及通用機(jī)械驅(qū)動。該型號(FFMN-32L-10-T0 40AX)的核心特點(diǎn)如下:三相交流異步電動機(jī)。額定…

2026/8/2 2:52:49 閱讀更多