吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

【飛凌RZ/G2L開發板試用體驗】第三篇 sqlite3數據庫編程

開發板試用精選 ? 來源:開發板試用 ? 作者:電子發燒友論壇 ? 2022-10-24 17:32 ? 次閱讀

本文來源電子發燒友社區,作者:h1654155285.8644, 帖子地址:https://bbs.elecfans.com/jishu_2299992_1_1.html


一、前言
RZ/GL2型開發板內置了sqlite3數據庫,該數據庫是一款輕型的數據庫,它占用資源非常的低,只需要幾百K的內存就夠了。本人研究項目中需要使用到數據庫,借此機會利用開發板進行了sqlite數據庫的學習。
本程序中建立數據庫well.db,在數據庫中建立兩個表格,分別是Well1和Well2,表格內容包括時間、溫度、壓力、液位幾個參數。由于該開發板沒有使用于現場,因此溫度、壓力和液位三個參數均使用隨機函數生成。程序比較簡單,但是在編寫過程中遇到一些問題,與大家共享。
由于僅僅是數據庫的編程,沒有外接顯示設備,只是用網線將開發板與路由器連接,利用USB口與計算機連接。
5.jpg

二、程序編寫
1、數據庫的建立

ret = sqlite3_open("well.db", &db_well);   
 		if( ret )  
		{  
  				fprintf(stderr, "Can't open database: %sn", sqlite3_errmsg(db_well));  
  				sqlite3_close(db_well);  
  				exit(1);  
 		}
		else
		{
  				printf("Open well.db!n");  
 		}

使用sqlite3_open函數建立數據庫,其中well.db是數據庫的名稱,db_well是該數據庫的句柄。如果建立成功,將輸出“Open well.db!”信息
2、表格的建立
該數據庫中建立了Well1和Well2兩個表格,建立帶入如下所示:

sql =" CREATE TABLE Well1( ID INTEGER PRIMARY KEY,  Time VARCHAR(17),  Temprature REAL,  Pressure REAL,  Liquid_level REAL);" ;  
sqlite3_exec(db_well , sql , 0 , 0 , &Msg );

程序中,首先將指令用ASCII碼形式表示,然后用指令sqlite3_exec執行。如果要再建立Well2表格,只需將上述代碼中的Well1換為Well2即可。指令中的ID INTEGER PRIMARY KEY, Time VARCHAR(17), Temprature REAL, Pressure REAL, Liquid_level REAL的分別表示序號、時間、溫度、壓力、液位幾個參數,并且在指令中標注了不同的數據類型。
3、數據的產生
(1)時間的產生

time(&tmp);   
timp = localtime(&tmp);

timp中便是以結構體形式存儲的時間,包括年月日時分秒等信息。
(2)隨機數的產生

t=((rand()%(900-700))+700)/10.0;

上述指令用來產生700~900之間的一個隨機數。按照此方法依次產生溫度、壓力、液位等隨機數。
4、表格數據更新

sprintf(str,"INSERT INTO "Well1" VALUES(NULL , '%2d-%2d-%2d %2d:%2d:%2d', %.1f, %.1f, %.1f);", (timp->tm_year)%100, ( 1 + timp->tm_mon), timp->tm_mday, (timp->tm_hour), timp->tm_min, timp->tm_sec,t,p,l);
sqlite3_exec( db_well , str, 0 , 0 , &Msg );

上述指令用于表格數據的更新,即首先將指令以ASCII碼的形式存于str,再用sqlite3_exec指令執行。在運行過程中,遇到兩個問題:
(1)sprintf指令執行中,總是提示“Segmentation Fault”,經過查閱質量,將str定義為靜態變量,才沒有報錯。
(2)時間要以ASCII碼形式存儲,在str中要使用單引號。
三、程序運行
將程序編譯通過,通過SSH拷入開發板后,執行,出現以下界面:
1.png
每秒鐘提示一個時間。而且,提示數據庫建立完成。
利用sqlite打開well.db數據庫,如下圖所示。
2.png
打開well1表格,展示內容如下圖所示:
3.png
打開well2表格,展示內容如下:
4.png
通過上述兩圖可以看出,兩個表格均正確存儲內容。此外,利用數據庫的優勢,還可以對數據進行插入、查詢、刪除等操作,在這里不再演示。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 飛凌
    +關注

    關注

    0

    文章

    134

    瀏覽量

    16173
  • 開發板試用
    +關注

    關注

    3

    文章

    301

    瀏覽量

    2149
收藏 人收藏

    評論

    相關推薦

    嵌入式受邀亮相瑞薩2024工業技術研討會

    嵌入式作為瑞薩電子的生態合作伙伴,給2024瑞薩電子MCU/MPU工業技術研討會的現場觀眾帶去了基于RZ/G2L高性能多核異構處理器設計開發
    的頭像 發表于 12-07 14:27 ?413次閱讀
    <b class='flag-5'>飛</b><b class='flag-5'>凌</b>嵌入式受邀亮相瑞薩2024工業技術研討會

    瑞薩RZ/G2L微處理器的SD卡GPIO控制功能介紹

    RZ/G2L微處理器配備Cortex-A55(1.2 GHz) CPU、16位DDR3L/DDR4接口、帶Arm Mali-G31的3D圖形
    的頭像 發表于 12-06 10:25 ?1210次閱讀
    瑞薩<b class='flag-5'>RZ</b>/<b class='flag-5'>G2L</b>微處理器的SD卡GPIO控制功能介紹

    RZ/G2L高速虛擬串口方案 基于瑞薩RZ/G2L SMARC開發板的虛擬(Virtual UART)實現方案

    RZ/G2L具有豐富的外設,比如千兆以太網,CANFD以及豐富的UART接口,可以滿足工業數據收集處理相關的應用。本文主要介紹基于瑞薩RZ/G2L
    發表于 11-20 14:41 ?581次閱讀
    <b class='flag-5'>RZ</b>/<b class='flag-5'>G2L</b>高速虛擬串口方案 基于瑞薩<b class='flag-5'>RZ</b>/<b class='flag-5'>G2L</b> SMARC<b class='flag-5'>開發板</b>的虛擬(Virtual UART)實現方案

    【作品合集】龍芯2K0300蜂鳥開發板試用精選

    第三篇 龍芯2K0300蜂鳥--驅動OLED【龍芯2K0300蜂鳥試用】第二
    發表于 09-10 18:17

    嵌入式OK3576-C開發板體驗】開箱報告

    簡介 很榮幸參與到本次由嵌入式和電子發燒友提供的OK3576-C開發板試用機會。 嵌入
    發表于 08-22 02:13

    RZ/G2L串口SCI的使用(下)

    RZ/G2L串口SCI的使用
    的頭像 發表于 08-03 08:06 ?569次閱讀
    <b class='flag-5'>RZ</b>/<b class='flag-5'>G2L</b>串口SCI的使用(下)

    RZ/G2L串口SCI的使用(上)

    RZ/G2L串口SCI的使用
    的頭像 發表于 07-25 08:06 ?560次閱讀
    <b class='flag-5'>RZ</b>/<b class='flag-5'>G2L</b>串口SCI的使用(上)

    全志T527開發板buildroot系統下擴大rootfs分區

    一、實驗環境介紹 硬件:T527開發板2G+16G) 軟件:全志Tina sdk 二、查看當前存儲分布 登入開發板,執行 fdisk
    發表于 07-18 14:45

    RZ/G2L雙千兆網口使用場景 BASIC模式 SWITCH模式 ROUTER模式

    RZ/G2L支持兩個通道的千兆以太網口,有必要給大家介紹一下這兩個千兆網口可實現的種應用場景,方便大家有針對性地給客戶的應用場景做推廣。
    的頭像 發表于 07-02 18:12 ?2010次閱讀
    <b class='flag-5'>RZ</b>/<b class='flag-5'>G2L</b>雙千兆網口使用場景 BASIC模式 SWITCH模式 ROUTER模式

    RZ/G2L Demo調試經驗流程分享(1)

    r01us0553ej0107-rz-g(Release Note).pdf,r01us0556ej0102-rz-g(Board_StartUp_Guide_smarcEVK).pdf,對SMARC EVK of RZ/
    的頭像 發表于 05-06 14:25 ?739次閱讀
    <b class='flag-5'>RZ</b>/<b class='flag-5'>G2L</b> Demo調試經驗流程分享(1)

    【米爾-瑞米派兼容樹莓派擴展模塊-試用體驗】基于ROS系統的麥輪小車自主導航

    導航。 本次試用套件包括:開發板1塊,tty2usb線1根 和手邊的樹莓派對比一下大小: 3開發板介紹 Remi Pi 是一款工業級處
    發表于 04-16 22:51

    RZ/G2L SD卡啟動環境變量存儲設置

    RZ/G2L微處理器配備Cortex-A55(1.2 GHz)CPU、16位DDR3L/DDR4接口、帶Arm Mali-G31的3D圖形加
    的頭像 發表于 03-21 13:56 ?634次閱讀
    <b class='flag-5'>RZ</b>/<b class='flag-5'>G2L</b> SD卡啟動環境變量存儲設置

    瑞薩RZ/V2L預訓練的人工智能模型

    RZ/V2L還與RZ/G2L封裝和引腳兼容。這使得RZ/G2L用戶可輕松升級至
    發表于 03-21 13:51 ?455次閱讀
    瑞薩<b class='flag-5'>RZ</b>/V<b class='flag-5'>2L</b>預訓練的人工智能模型

    【米爾-瑞薩RZ/G2UL開發板3.雜項測試

    【米爾-瑞薩RZ/G2UL開發板3.雜項測試 不知道為啥我這板子好多奇奇怪怪的調試信息蹦出來,臨時抑制辦法 echo 1 4 1 7 > /proc/sys/kernel
    發表于 02-28 15:25

    RZ/G2L微處理器DDR ECC功能和機制概要

    RZ/G2L微處理器配備Cortex?-A55 (1.2 GHz) CPU、16位DDR3L/DDR4接口、帶Arm Mali-G31的3D
    的頭像 發表于 02-28 13:44 ?1409次閱讀
    <b class='flag-5'>RZ</b>/<b class='flag-5'>G2L</b>微處理器DDR ECC功能和機制概要
    澳门百家乐官网赌场娱乐网规则| 嬴澳门百家乐的公式| 威尼斯人娱乐场官网是骗人的吗| 成安县| 百家乐官网筹码14克粘土| 凯斯百家乐的玩法技巧和规则| 百家乐官网单双打法| 属狗与属龙做生意好吗| 澳门顶级赌场手机在线链接| 百家乐官网游戏机路法| 百家乐看大路| 娱乐城百家乐官网高手| 澳门百家乐娱乐开户| 博乐市| 百家乐庄闲和游戏机| 博彩公司| 百家乐模拟投注器| 澳盈88投注| 地理风水24山72局杨公水法| bet365娱乐官网| 百家乐官网是娱乐场| 娱乐城注册送18元| 免费百家乐官网统计工具| 360棋牌大厅| 做生意店铺风水| 网上合法赌博网站| 百家乐技巧论坛| 百家乐官网规则澳门| 百家乐官网桌子北京| 成都百家乐的玩法技巧和规则| 玩百家乐官网澳门368娱乐城| 百家乐视频双扣游戏| 百家乐官网规则好学吗| 星期8百家乐的玩法技巧和规则 | 网上百家乐导航| 百家乐官网蓝盾假网| 百家乐suncity| 百家乐官网游戏机路法 | 百家乐自动算牌软件| 百家乐官网之对子的技巧| 免费百家乐预测软件|