《基于C的Linux下嵌入式數據庫SQLite的CRUD編程》要點:
本文介紹了基于C的Linux下嵌入式數據庫SQLite的CRUD編程,希望對您有用。如果有疑問,可以聯系我們。
將演示SQLite的基本使用,這個例子講解了如安在SQLite中增加記錄、查詢記錄、創建數據表等操作.另外本例子,也演示了如何編譯以及執行一個SQLite的應用程序例子.
結合上面的介紹,下面以一個完整的例子,講解如何利用SQLite查詢指定的數據表中的信息.
具體的編程流程為:
(1)連接指定數據庫,test.db
(2)向數據表data_txt_table中添加一條記錄;
(3)讀取數據表data_txt_table中的全部記錄,并按順序顯示;
(4)關閉數據庫連接.
1.法式的源碼
法式的主要源碼如下所示:
#include <stdio.h>
#include <sqlite3.h>
int main( void )
{
sqlite3 *pdb = NULL;
char *szErrMsg = 0;
int rc;
int i = 0;
//打開指定的數據庫文件,如果不存在將創建一個同名的數據庫文件
rc = sqlite3_open("test.db", &pdb);
if( rc )
{
fprintf(stderr, "Can't open database: %s", sqlite3_errmsg(pdb));
sqlite3_close(pdb);
return 0;
}
// 創建一張新數據表
//創建一個表,如果該表存在,則不創建,并給出提示信息,存儲在 zErrMsg 中
char *strSql = " CREATE TABLE test_table (ID INTEGER PRIMARY KEY,name VARCHAR(12));";
sqlite3_exec(pdb,strSql,0,0,&szErrMsg );
// 向數據表中添加二條記錄
strSql = "INSERT INTO test_table VALUES( 1 , 'tom');";
sqlite3_exec(pdb,strSql,0,0,&szErrMsg );
strSql = "INSERT INTO test_table VALUES( 2 , 'Jim');";
sqlite3_exec(pdb,strSql,0,0,&szErrMsg );
// 查詢所有記錄
int nRow = 0, nColumn = 0;
char **pResult; //二維數組存放成果
strSql = "SELECT * FROM test_table ";
sqlite3_get_table(pdb,strSql,&pResult,&nRow,&nColumn,&szErrMsg );
printf("Query recond %d \n ID Name:\n",nRow);
for(; i<(nRow+1)*nColumn;i++)
{
printf("%s ", pResult[i]);
if(i % 2 == 0)
printf("\n");
}
//釋放掉 azResult 的內存空間
sqlite3_free_table(pResult);
sqlite3_close(pdb); //關閉數據庫
return 0;
}
2.編譯
SQLite的編譯參數為:
gcc SQLiteTest.c -o SQLiteTest -lsqlite3 -L/usr/local/sqlite3/lib -I/usr/local/sqlite3/include -static -lpthread
編譯參數介紹:
(1)-lsqlite3用于鏈接SQLite的開發庫;
(2)-lpthread用于鏈接多線程庫;
(3)-L/usr/local/sqlite3/lib 用于指示SQLite中鏈接庫的路徑,默認的安裝路徑為/usr/local/sqlite3/lib,當然讀者可以根據本身的實際安裝路徑進行配置;
(4)-I/usr/local/sqlite3/include用于指示SQLite中sqlite3.h頭文件所在的目錄,當然/usr/local/sqlite3/include為默認安裝路徑,讀者在本身的項目中要根據實際安裝的路徑進行配置;
(5)-static用于靜態編譯,如果不加上該選項,有時候在編譯會提示無法找到動態鏈接庫.
3.運行
法式在具體的編譯通過后,會生成珍上SQLiteTest的可執行文件,在Shell命令中輸入./SQLiteTest即可以執行該法式:
[root@locathost SQLite]./SQLiteTest
法式具體的運行效果如下圖所示:
《基于C的Linux下嵌入式數據庫SQLite的CRUD編程》是否對您有啟發,歡迎查看更多與《基于C的Linux下嵌入式數據庫SQLite的CRUD編程》相關教程,學精學透。維易PHP學院為您提供精彩教程。
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/9163.html