嵌入式數據庫sqlite測試程序

? ? ? ?繼上篇對嵌入式數據庫sqlite的移植和注意項,以及使用命令行測試之后,本篇對其進行了更進一步的程序測試,以備近期在項目中使用。測試程序及說明如下:

/**************** 相關函數說明 ******************/
/*  (1)sqlite3_open的函數原型說明:
int sqlite3_open
(const char *filename,   // Database filename (UTF-8) sqlite3 **ppDb          // OUT: SQLite db handle 
);
*//*  (2)sqlite3_exec的函數原型說明:
int sqlite3_exec
(sqlite3*, 			// An open database const char *sql, 	// SQL to be executed sqlite_callback, 	// Callback function void *, 			// 1st argument to callback function char **errmsg 		// Error msg written here 
);*//*  (3)查詢數據
int sqlite3_get_table
(sqlite3*, const char *sql, char ***result,  //result中是以數組的形式存放你所查詢的數據,首先是表名,再是數據。int *nrow,       //nrow ,ncolumn分別為查詢語句返回的結果集的行數,列數,int *ncolumn,    //沒有查到結果時返回0char **errmsg
); */ /******************* SQLite數據庫測試 *******************/
#include <stdio.h>
#include <stdlib.h>#include "sqlite3.h"#define _DEBUG_ 1int main(int argc, char *argv[])
{sqlite3 *db = NULL;         //數據庫const char *sql = 0;char *zErrMsg = 0;          //錯誤信息儲存int nrow = 0, ncolumn = 0;  //行和列char **azResult; 	        //二維數組存放結果int rc = 0;int i = 0;//打開指定的數據庫文件,如果不存在將創建一個同名的數據庫文件rc = sqlite3_open("rtu_data.db", &db);if( rc ){fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db));sqlite3_close(db);return 1;}elseprintf("Open a sqlite3 database named rtu_data.db successfully!\n");//創建一個表,如果該表存在,則不創建,并給出提示信息,存儲在 zErrMsg 中sql = "create table data_table(rtuID, registerNum, data);";sqlite3_exec(db, sql, 0, 0, &zErrMsg);#if _DEBUG_printf("zErrMsg = %s \n", zErrMsg);
#endif//插入數據: 2種方法 sql = "insert into data_table(rtuID, registerNum, data) values(01, 0001, 1);";sqlite3_exec(db, sql, 0, 0, &zErrMsg);sql = "insert into \"data_table\" values(02, 0002, 2.0);";sqlite3_exec(db, sql, 0, 0, &zErrMsg);sql = "select * from data_table;";sqlite3_get_table(db, sql, &azResult, &nrow, &ncolumn, &zErrMsg);printf("row=%d, column=%d\n", nrow, ncolumn);printf("\nThe result of querying is:\n");for(i=0; i<(nrow + 1) * ncolumn; i++)printf("azResult[%d] = %s\n", i, azResult[i]);//釋放掉 azResult 的內存空間sqlite3_free_table(azResult);#if _DEBUG_printf("zErrMsg = %s \n", zErrMsg);
#endifsqlite3_close(db); //關閉數據庫return 0;
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/88066.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/88066.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/88066.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【學習篇】SQL復雜查詢學習

要求&#xff1a;能對千萬行級別的大表優化讀寫效率。 難點&#xff1a;如何創建千萬行級別的大表 MySQL數據庫的高效查詢不僅依賴于合理的表結構和索引設計&#xff0c;還需要掌握高級查詢技巧和性能優化方法。 數據表與數據表之間關系三種&#xff1a;實體之間關系 多對多…

Sequential Predictive Modeling of Clinical Trial Outcome with Meta-Learning解讀

SPOT(Sequential Predictive Modeling of Clinical Trial Outcome with Meta-Learning)模型是用于臨床試驗結果預測的模型, 借鑒了模型無關元學習(MAML,Model-Agnostic Meta-Learning)的框架,將模型參數分為全局共享參數和任務特定參數,以平衡跨任務泛化與任務內適配:…

優先選擇列表而非數組及泛型類型的使用

數組與泛型的核心差異 協變性與不變性 數組采用協變(covariant)類型規則:若Sub是Super的子類型,則數組類型Sub[]也是Super[]的子類型。這種設計允許以下代碼通過編譯: Object[] objectArray = new Long[1]; // 編譯通過 objectArray[0

自動化Prompt生成平臺的研發體系設計

一份輕松不啰嗦的自動化Prompt平臺研發攻略 &#x1f4d1; 目錄 一、項目背景二、平臺整體架構設計三、核心功能模塊解析四、自動化流程設計五、樣式與跨平臺規范六、總結與展望 一、項目背景 在大模型應用爆發的今天&#xff0c;不寫Prompt的工程師&#xff0c;正在變成“寫…

[Swarm] 上下文變量 | 接入function功能調用 | Mcp

第3章&#xff1a;上下文變量 歡迎回到swarm&#xff01; 在前兩章中&#xff0c;我們學習了作為對話指揮者的Swarm框架和具備指令與技能的專用AI角色智能體。(智能體就相當于是給用戶問題 已經寫好了的提示詞&#xff0c;在用戶提問時自動加入&#xff0c;以此來給用戶更好的…

【Unity開發】Unity實現第一人稱視角與第三人稱視角切換功能

一、效果展示 第三人稱視角&#xff1a;固定攝像機&#xff0c;無任何操作 第一人稱視角&#xff1a;用戶可以通過wsad進行前后左右移動&#xff0c;qe進行上升下降操作 不同視角之間切換會有一個過渡動畫&#xff0c;切換第一視角的初始位置始終為原點&#xff08;0,0,0&am…

2025全球數字經濟大會—云智算安全論壇暨第三屆“SecGo論壇”成功召開!共筑安全新生態

2025年7月3日&#xff0c;由全球數字經濟大會組委會主辦&#xff0c;中國信息通信研究院、中國通信標準化協會承辦的全球數字經濟大會—云智算安全論壇暨第三屆“SecGo論壇”在京召開。北京市經濟和信息化局副局長顧瑾栩、中國通信標準化協會副理事長兼秘書長代曉慧、中國信通院…

KingbaseES聚焦產品上線:金倉數據庫在線體驗平臺上線,開啟數據庫實踐新征程

KingbaseES聚焦產品上線&#xff1a;金倉數據庫在線體驗平臺上線&#xff0c;開啟數據庫實踐新征程KingbaseES 在線體驗平臺是為數據庫使用者、開發者、架構師及 DBA 打造的輕量化實踐平臺&#xff0c;無需本地安裝數據庫環境&#xff0c;通過瀏覽器即可快速上手&#xff0c;降…

LLMs之DeepSeek:AI模型市場深度分析:DeepSeek的挑戰與機遇,模型市場份額、Token經濟學與未來發展

LLMs之DeepSeek&#xff1a;AI模型市場深度分析&#xff1a;DeepSeek的挑戰與機遇&#xff0c;模型市場份額、Token經濟學與未來發展 導讀&#xff1a;該文章主要分析了中國大語言模型DeepSeek R1發布150天后的市場表現、Token經濟學的影響以及AI模型市場的競爭格局。文章指出&…

服裝零售企業跨區域運營難題破解方案

在服裝零售行業&#xff0c;本地化業務系統因承載庫存、銷售等核心數據&#xff0c;成為眾多企業的選擇。然而對于門店分布廣、規模較大的服裝銷售商而言&#xff0c;總部系統與各地門店的遠程連接卻面臨挑戰&#xff1a;員工遠程辦公效率低、POS機數據同步滯后、跨區域監管難度…

- 思考小記

對于 分布式系統&#xff0c;我還是抱有敬畏之心的&#xff0c;因為其內容過于龐大&#xff1b;我在學習基礎編程的時候走過一個最大的彎路就是過度追求技術而忽視了基礎編碼能力&#xff0c;當時在學習springboot的時候&#xff0c;覺得那些新內容都是那么新奇高大上&#xff…

裝備制造數字孿生底座平臺

在《中國制造2025》和《“十四五”智能制造發展規劃》的推動下&#xff0c;數字孿生技術被7次重點提及&#xff0c;成為裝備制造業智能化升級的核心戰略。從航空航天到重型機械&#xff0c;從設計驗證到運維優化&#xff0c;數字孿生底座平臺正通過“虛實映射”與“實時交互”&…

Redis構建緩存服務器

環境信息&#xff1a; redis-master----192.168.12.135 redis-slave-1-----192.168.12.136 redis-slave-2-----192.168.12.137 單機版Redis 安裝Redis yum install -y gcc make jemalloc jemalloc-devel gcc-c wget tcl yum groupinstall -y "Development Tools" wge…

vscode python debugger關閉編輯器內的變量值自動顯示

vscode 的python debugger調試器的最新版本2025.8.0, 會默認把變量的值顯示出來, 如下圖所示關閉的方法: 打開vscode的settings.json, 左下角點擊齒輪按鈕, 選擇setting(設置), 然后在右上角三個按鈕最中間的那個(open setting json), 輸入 "debug.inlineValues": &q…

App爬蟲工具篇-appium配置

接著上篇文章App爬蟲工具篇-Appium安裝,安裝好了之后,還是不夠的,要讓其能夠驅動手機端,還需要配置。這節課就深入說說如何配置Appium。 安卓手機 如果我們要使用 Android 設備做 App 抓取的話,還需要下載和配置 Android SDK,這里推薦直接安裝 Android Studio,其下載地…

SpringAI系列 - 基于Spring AI 1.0.0 的AI助手實現示例

目錄 一、基于 Spring AI 1.0.0 的AI助手實現示例二、AI助手架構設計2.1 系統范圍與上下文 C12.2 容器圖 C22.3 AI助手組件圖 C3三、注意事項四、快速啟動五、如何啟用MCP一、基于 Spring AI 1.0.0 的AI助手實現示例 結合前文系列的介紹,本專欄提供了一個基于Spring AI 1.0.0…

電池預測 | 第33講 Matlab基于CNN-LSTM-Attention的鋰電池剩余壽命預測,附鋰電池最新文章匯集

電池預測 | 第33講 Matlab基于CNN-LSTM-Attention的鋰電池剩余壽命預測&#xff0c;附鋰電池最新文章匯集 目錄電池預測 | 第33講 Matlab基于CNN-LSTM-Attention的鋰電池剩余壽命預測&#xff0c;附鋰電池最新文章匯集預測效果基本描述程序設計參考資料源碼地址&#xff1a; 電…

軟考(軟件設計師)數據庫原理-SQL

一、SQL基本數據類型 SQL 數據類型速查表類別數據類型說明范圍/示例適用場景整數類型INT / INTEGER標準整數類型-2 到 2-1 (-2,147,483,648 到 2,147,483,647)ID、年齡、數量等SMALLINT小范圍整數-32,768 到 32,767小范圍數值BIGINT大范圍整數-2? 到 2?-1大額訂單號、時間戳T…

docker 安裝數據集成平臺 Apache SeaTunnel 服務

獲取官方鏡像 從 Docker Hub 上拉取最新的 Apache SeaTunnel 鏡像&#xff1a; docker pull apache/seatunnel:latest創建目錄 sudo mkdir -p /data/{conf,logs} # 需要 root 權限創建 /data 目錄 sudo chown -R $USER:$USER /data # 將目錄權限給當前用戶&#xff08;可選&a…

數據結構:數組:線性查找(Linear Search)

目錄 什么是線性查找&#xff1f; 時間復雜度分析 &#x1f9e0; 線性查找的優化 方法一&#xff1a;Move to Front&#xff08;哨兵&#xff09; 方法二&#xff1a;Transportation&#xff08;向前交換一步&#xff09; 什么是線性查找&#xff1f; 我們先問&#xf…