上篇文章介紹了如何使用Pyhton語言來操作SQLite數(shù)據(jù)庫,對(duì)于嵌入式開發(fā),更多的是使用C/C++語言進(jìn)行開發(fā),因此,本篇介紹如何使用C語言來操作SQLite數(shù)據(jù)庫。
1 SQLite C語言API函數(shù)
SQLite的C語言API函數(shù)的官方文檔地址:https://sqlite.com/capi3ref.html#sqlite3_free

對(duì)于數(shù)據(jù)庫的基礎(chǔ)操控,可以先了解以下幾個(gè)最基本的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來表示一個(gè)打開的數(shù)據(jù)庫對(duì)象
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ù)的第一個(gè)參數(shù)
errmsg: 錯(cuò)誤信息,如果沒有問題則為NULL
1.3 回調(diào)函數(shù)
回調(diào)函數(shù)式一個(gè)比較復(fù)雜的函數(shù),一般用于sql語句執(zhí)行后的數(shù)據(jù)打印,其原型為:
int callback(
void *params,
int column_size,
char **column_value,
char **column_name
);
參數(shù)含義:
params: sqlite3_exec傳入的第四個(gè)參數(shù)
column_size: 結(jié)果字段的個(gè)數(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;>
運(yùn)行結(jié)果:

4 總結(jié)
4 總結(jié)
本篇簡(jiǎn)單介紹了如何使用SQLite的C語言API中最基礎(chǔ)的幾個(gè)函數(shù),實(shí)現(xiàn)對(duì)數(shù)據(jù)庫的讀寫,后續(xù)再介紹其它常用的C語言API函數(shù)的用法。
-
C語言
+關(guān)注
關(guān)注
180文章
7628瀏覽量
139697 -
數(shù)據(jù)庫
+關(guān)注
關(guān)注
7文章
3884瀏覽量
65576 -
SQlite
+關(guān)注
關(guān)注
0文章
81瀏覽量
16274
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
玩轉(zhuǎn)SQLite5:使用Python來讀寫數(shù)據(jù)庫

評(píng)論