開啟資料庫
函式原型: int sqlite3_open(const char* filename, sqlite3** ppdb);
函式功能:開啟乙個資料庫,若該資料庫檔案不存在,則自動建立。開啟或者建立資料庫的命令會被快取,直到這個資料庫真正被呼叫的時候才會被執行。
輸入引數:filename,待開啟的資料庫檔名稱,包括路徑,以』\0』結尾; 特別說明:sqlite 支援記憶體資料庫,記憶體方式儲存使用檔名「:memory:」
輸出引數:ppdb,返回開啟的資料庫控制代碼;
返回值:執行成功返回sqlite_ok,否則返回其他值;
執行資料庫語句(建立表、插入資料、更新資料、刪除資料)
函式原型:int sqlite3_exec(sqlite3* pdb, const char sql, sqlite_callback callback, voidpara, char** errmsg);
函式功能:編譯和執行零個或多個sql 語句,查詢的結果返回給**函式callback
輸入引數:ppdb,資料庫控制代碼;sql,待執行的sql 語句字串,以』\0』結尾;callback,**函式,用來處理查詢結果,如果不需要**(比如做insert 或者delete 操作時),可以 輸入null;
para,使用者傳入的引數,可以為null,該引數指標最終會被傳給**函式callback,供使用者在**函式中使用;
輸出引數:errmsg,返回錯誤資訊,注意是指標的指標。
返回值:執行成功返回sqlite_ok,否則返回其他值
查詢資料庫
函式原型:int sqlite3_get_table(sqlite3* pdb, const char *sql,char *presult, int * rowcount,int * columncount, charerrmsg);
函式功能:執行sql 語句,通過一維陣列返回結果;
輸入引數:ppdb,開啟的資料庫控制代碼;sql,待執行的sql 字串,以』\0』結尾;
輸出引數:rowcount,查詢出多少條記錄(即查出多少行);columncount,查詢出來的記錄有多少個字段(多少列); errmsg,返回錯誤資訊;presult,查詢結果,是由字串組成的一維陣列(不要以為是二維陣列,更不要以為是三維陣列)。它的記憶體布局是:第一行是欄位名稱,後面緊接著每個欄位的值;
返回值:執行成功返回sqlite_ok,否則返回其他值
釋放查詢結果
函式原型:void sqlite3_free_table(char **result);
函式功能:釋放查詢結果占用的記憶體;
輸入引數:result,通過函式sqlite3_get_table()查詢到的記錄結果
輸出引數:無
返回值:無
**函式
函式原型:typedef int (sqlite_callback)(void para,int columncount,char** columnvalue,char** columnname);
函式功能:由使用者處理查詢的結果
輸入引數:para,從sqlite3_exec()傳入的引數指標;columncount, 查詢到的這一條記錄有多少個字段(即這條記錄有多少列);columnvalue,查詢出來的資料都儲存在這裡,它實際上是個1 維陣列(不要以為是2 維陣列),每乙個元素都是乙個char * 值,是乙個字段內容(用字串來表示,以『\0』結尾);columnname,與columnvalue 是對應的,表示這個欄位的欄位名稱。
輸出引數:無
返回值:執行成功返回sqlite_ok,否則返回其他值
除錯資料庫
函式原型:const char sqlite3_errmsg(sqlite3 pdb);
函式功能:獲取最近呼叫的api 介面返回的錯誤說明,這些錯誤資訊utf-8的編碼返回,並且在下一次呼叫任何sqlite api 函式時被自動清除;
輸入引數:pdb,開啟的資料庫控制代碼
輸出引數: 無
返回值:錯誤說明的字串指標
關閉資料庫
函式原型: int sqlite3_close(sqlite3* pdb);
函式功能:關閉乙個開啟的資料庫;
輸入引數:ppdb,開啟的資料庫控制代碼
輸出引數:無
返回值:執行成功返回sqlite_ok,否則返回其他值;
Sqlite3 資料庫使用
iphone本身是支援 sqlite3 資料庫的,在專案中匯入libsqlite3.dylib。並建立資料庫,在終端,建立資料庫的方式 mkdir sql 建立sql資料夾 cd sql 進入sql目錄下 sqlite3 student.sql 建立名為 student.sql的資料庫 建立表 插入...
sqlite3資料庫操作
1 開啟資料庫 1 需要制定資料庫的路徑 nsstring filepath nshomedirectory documents data.sqlite 2 建立資料庫的物件 sqlite3 qingyundb null 3 開啟命令 sqlite3 open dbfilepath utf8stri...
SQLite3資料庫操作
簡單的sqlite3語句,通過字串拼接執行資料庫操作。1.建立資料庫格式 db.execsql create table if not exists sharp id integer primary key,name varchar,level integer,high integer 其真正的有效...