sqlite3函數接口


sqlite3函數接口(重點★):

int sqlite3_open(const char*, sqlite3**);
函數用於打開/創建一個函數庫
const char* 指定文件名,sqlite3** 指定數據庫句柄,用戶通過數據庫句柄操作數據庫
返回一個整數錯誤代碼,=0 表示成功碼,> 0都是錯誤

int sqlite3_close(sqlite3*);
關閉數據庫文件,參數是數據庫句柄

int sqlite3_exec(sqlite3*, const char *sql, sqlite_callback, void*, char**);
函數用於執行一條或多條SQL語句,SQL語句之間用“;”隔開
sqlite3*指定已打開的數據庫句柄,const char *sql   指定SQL指令,sqlite_callback  在回調函數中可以獲得SQL執行的結果,void*  指定傳給回調函數的數據 , char**   指定命令執行失敗的詳細錯誤信息
返回0表示sql指令執行完畢,否則說明這次執行沒有成功

int sqlite3_get_table(
  sqlite3 *db,          /* An open database */
  const char *zSql,     /* SQL to be evaluated */
  char ***pazResult,    /* Results of the query */
  int *pnRow,           /* Number of result rows written here */
  int *pnColumn,        /* Number of result columns written here */
  char **pzErrmsg       /* Error msg written here */
);
sqlite3_get_table主要是用於非回調的方式進行select查詢
db 打開數據庫得到的指針, zSql 一條sql語句,跟sqlite3_exec中一樣,        pazResult 查詢的數據結果,他是一個指針數組,內存分布為:字段名稱,后面是緊接着是每個字段的值,     pnRow 查詢到的數據條數(行數),      pnColumn 查詢到的字段數(列數),      pzReemsg 錯誤信息;
返回0或其他

void sqlite3_free_table(char **result);
用於釋放保存查詢內容的指針數組

int sqlite_callback(
    void* pv,    /* 由 sqlite3_exec() 的第四個參數傳遞而來 */
    int argc,        /* 表的列數 */
    char** argv,    /* 指向查詢結果的指針數組, 可以由 sqlite3_column_text() 得到 */
    char** col        /* 指向表頭名的指針數組, 可以由 sqlite3_column_name() 得到 */
);
返回值:1 中斷查找,0 繼續列舉查詢到的數據


還有2個(次要):

const char *sqlite3_errmsg(sqlite3*);
返回錯誤碼所對應的文字說明,參數是數據庫句柄

void sqlite3_free(void*);
 釋放存放錯誤信息的內存空間,sqlite3_errmsg  返回的errmsg必須用此函數釋放


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM