SQLite函式應用(一)

2021-06-05 09:14:06 字數 1947 閱讀 8618

開啟資料庫:sqlite3_open()

int sqlite3_open(

const char *filename, /* database filename (utf-8) */

sqlite3 **ppdb /* out: sqlite db handle */

);

filename引數是檔名,或字串':memory:',或乙個空指標(null)。用後兩者將建立記憶體資料庫。

如果檔案不存在,則用這個名字建立乙個新的資料庫。

關閉連線:sqlite3_close()

int sqlite3_close(sqlite3*);

執行sql命令:sqlite3_exec()

int sqlite3_exec( 

sqlite3*, /* an open database */

const char *sql, /* sql to be executed */

sqlite_callback, /* callback function */

void *data /* 1st argument to callback function */

char **errmsg /* error msg written here */

);

sqlite3_exec()包含乙個回叫(callback)機制,提供了一種從select語句得到結果的方法

sqlite3_exec()函式第3個引數是乙個指向回叫函式的指標,如果提供了回叫函式,sqlite則會在執行select語句時為遇到的每一條記錄都呼叫回叫函式

回叫函式:callback()

typedef int (*sqlite3_callback)( 

void* data, /* data provided in the 4th argument of sqlite3_exec() */

int ncols, /* the number of columns in row */

char** values, /* an array of strings representing fields in the row */

char** headers /* an array of strings representing column names */

);

示例:

#include #include #include "util.h"

#pragma comment(lib, "sqlite3.lib")

int callback(void* data, int ncols, char** values, char** headers);

int main(int argc, char **argv)

data = "callback function called";

sql = "insert into episodes (name, cid) values ('mackinaw peaches', 1);"

"select * from episodes;";

rc = sqlite3_exec(db, sql, callback, data, &zerr);

if(rc != sqlite_ok)

}sqlite3_close(db);

return 0;

}int callback(void* data, int ncols, char** values, char** headers)

fprintf(stdout, "\n");

return 0;

}

SQLite函式應用(二)

callback函式 sqlite3 db int rc char zerr rc sqlite3 open test.db,db if rc cout error char data callback char sql select from test rc sqlite3 exec db,sql...

SQLite一些函式用法

格林威治日期時間,比北京時間晚8小時 select datetime now 格林威治日期 select date now 本地時間 select time now localtime 日期時間格式化 select strftime y m d h m s now localtime 加1小時 se...

SQLite 實現與應用

1 前言 有一些日子沒有仔細關注sqlite了,今天開啟其主頁,發現其最新的版本已經是3.6.22了,更讓我驚喜的是它的使用者越來越多,而且郵件列表的關注者也越來越多,突然覺得自己已經太old了。驚喜的同時,不得不聊上幾句了。firefox 這是我的機器上v3.5.7安裝目錄下的檔案 可以發現用的s...