上篇文章介紹了如何使用Pyhton語言來操作SQLite數(shù)據(jù)庫,對于嵌入式開發(fā),更多的是使用C/C++語言進行開發(fā),因此,本篇介紹如何使用C語言來操作SQLite數(shù)據(jù)庫。
1 SQLite C語言API函數(shù)
SQLite的C語言API函數(shù)的官方文檔地址:https://sqlite.com/capi3ref.html#sqlite3_free
對于數(shù)據(jù)庫的基礎(chǔ)操控,可以先了解以下幾個最基本的API函數(shù):
1.1 打開數(shù)據(jù)庫 sqlite3_open
該函數(shù)用于打開sqlite3數(shù)據(jù)庫的連接
int sqlite3_open(
const char *filename, /* Database filename (UTF-8) */
sqlite3 **ppDb /* OUT: SQLite db handle */
);
參數(shù)含義:
filename: 數(shù)據(jù)庫文件名
ppDb: 數(shù)據(jù)庫handle ,用結(jié)構(gòu)體sqlite3來表示一個打開的數(shù)據(jù)庫對象
1.2 執(zhí)行sql語句 sqlite3_exec
int sqlite3_exec(
sqlite3*, /* An open database */
const char *sql, /* SQL to be evaluated */
int (*callback)(void*,int,char**,char**), /* Callback function */
void *, /* 1st argument to callback */
char **errmsg /* Error msg written here */
);
參數(shù)含義:
sqlite3 *: 數(shù)據(jù)庫句柄
sql: 要執(zhí)行的sql語句
callback: 回調(diào)函數(shù)
void *: 回調(diào)函數(shù)的第一個參數(shù)
errmsg: 錯誤信息,如果沒有問題則為NULL
1.3 回調(diào)函數(shù)
回調(diào)函數(shù)式一個比較復(fù)雜的函數(shù),一般用于sql語句執(zhí)行后的數(shù)據(jù)打印,其原型為:
int callback(
void *params,
int column_size,
char **column_value,
char **column_name
);
參數(shù)含義:
params: sqlite3_exec傳入的第四個參數(shù)
column_size: 結(jié)果字段的個數(shù)
column_value: 返回記錄的一位字符數(shù)組指針
column_name: 結(jié)果字段的名稱
回調(diào)函數(shù)的通常寫法為:
static int callback(void *data, int argc, char **argv, char **azColName)
{
int i;
fprintf(stderr, "%s:n", (const char*)data);
for(i=0; i;>
運行結(jié)果:
4 總結(jié)
4 總結(jié)
本篇簡單介紹了如何使用SQLite的C語言API中最基礎(chǔ)的幾個函數(shù),實現(xiàn)對數(shù)據(jù)庫的讀寫,后續(xù)再介紹其它常用的C語言API函數(shù)的用法。
-
C語言
+關(guān)注
關(guān)注
180文章
7604瀏覽量
136809 -
數(shù)據(jù)庫
+關(guān)注
關(guān)注
7文章
3799瀏覽量
64388 -
SQlite
+關(guān)注
關(guān)注
0文章
78瀏覽量
15944
發(fā)布評論請先 登錄
相關(guān)推薦
評論