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