實現步驟基本如下:
主要記錄一下將sqlite資料庫從bundle複製到沙盒的過程,以及讀取sqlite資料庫資料病賦值給trapsmodel的過程。
將sqlite資料庫從bundle複製到沙盒:
//獲取沙盒目標路徑
nsstring *docpath = [nssearchpathfordirectoriesindomains(nsdocumentdirectory, nsuserdomainmask, yes)objectatindex:0];
//獲取沙盒中sqlite資料庫目的地路徑
//獲取bundle中sqlite資料庫的路徑
nsstring *orignfilepath = [[nsbundle mainbundle] pathforresource:@"trapsmodel" oftype:@"sqlite3"];
nsfilemanager *fm = [nsfilemanager defaultmanager];
//如果doc下沒有資料庫,從bundle裡面拷貝到沙盒中
if([fm fileexistsatpath:sqlfilepath] == no) else
}else
讀取sqlite資料庫資料病賦值給trapsmodel:
//獲取沙盒目標路徑
nsstring *docpath = [nssearchpathfordirectoriesindomains(nsdocumentdirectory, nsuserdomainmask, yes)objectatindex:0];
//獲取沙盒中sqlite資料庫目的地路徑
//建立sqlite資料庫指標
sqlite3 * db;
//開啟資料庫
sqlite3_open([sqlfilepath utf8string], &db);
//定義錯誤字串
char * errmsg;
//定義帶引數查詢的sql語句,由於是用編號來獲取資料,所以本不該用like關鍵字,以免獲取多個資料,但由於現階段只有兩個資料,所以無礙
const
char * selectsql = "select * from trapsmodel where id like ?";
sqlite3_stmt * stmt;
//預編譯sql語句,stmt變數儲存了預編譯結果的指標
int result = sqlite3_prepare_v2(database, selectsql, -1, &stmt, nil);
//如果預編譯成功
if(result == sqlite_ok)
//因為使用預編譯statement執行過sql語句,所以呼叫sqlite3_finalize()函式關閉sqlite3_stmt
sqlite3_finalize(stmt);
}//關閉資料庫
sqlite3_close(db);
爬蟲學習之 sqlite3
sqlite能儲存什麼樣的資料型別 可以儲存空值 整數 浮點數 字串和blob。什麼是blob 是二進位製大物件。例如 zip檔案。什麼是游標 游標是在資料庫中用來移動和執行查詢的物件。sql的全部知識呢?遠不止這些 有乙個很好的初學教程 如果要使用sql必須要匯入sqlite3庫。建立乙個資料庫,...
python之sqlite3使用詳解
如果該資料庫操作不需要返回結果,就直接用conn.execute查詢,根據資料庫事務隔離級別的不同,可能修改資料庫需要conn.commit 如果需要返回查詢結果則用conn.cursor建立游標物件cur,通過cur.execute查詢資料庫,用cur.fetchall cur.fetchone ...
python之sqlite3使用詳解
python sqlite資料庫是一款非常小巧的嵌入式開源資料庫軟體,也就是說沒有獨立的維護程序,所有的維護都來自於程式本身。它使用乙個檔案儲存整個資料庫,操作十分方便。它的最大優點是使用方便,功能相比於其它大型資料庫來說,確實有些差距。但是效能表現上,sqlite並不遜色。麻雀雖小,五臟俱全,sq...