下面我翻譯一下其最簡單的入門知識,在專案過程中, 發現這些其實也夠用, 但異常處理這些我還沒引進來使用.
plsqlitedatabase *db = [[plsqlitedatabase alloc] initwithpath: @"/path/to/database"];更新操作可以使用 -[pldatabase executeupdate:]if (![db open])
nslog(@"could not open database");
if (![db executeupdate: @"create table example (id integer)"])執行查詢操作可以使用 -[pldatabase executequery:]. 該操作返回結果集是乙個物件為plresult的nsobject例項.使用方法如下nslog(@"table creation failed");
if (![db executeupdate: @"insert into example (id) values (?)", [nsnumber numberwithinteger: 42]])
nslog(@"data insert failed");
idresults = [db executequery: @"select id from example where id = ?", [nsnumber numberwithinteger: 42]];plpreparedstatement支援sql操作的預編譯和引數優先繫結. 執行準備的操作可以呼叫:-[pldatabase preparestatement:].while ([results next])
// 如果沒有關閉結果集不會導致記憶體洩漏, 但會結果集會被保留直到下一次的查詢
[results close];
idstmt = [db preparestatement: @"insert into example (name, color) values (?, ?)"];當引數很多的時候, 能過命名引數繫結的可讀性強很多// 繫結引數
[stmt bindparameters: [nsarray arraywithobjects: @"widget", @"blue", nil]];
// 執行插入
if ([stmt executeupdate] == no)
nslog(@"insert failed");
用法如下:
// 準備idstmt = [db preparestatement: @"insert into test (name, color) values (:name, :color)"];
// 使用字典繫結引數
nsmutabledictionary *parameters = [nsmutabledictionary dictionarywithcapacity: 2];
[parameters setobject: @"widget" forkey: @"name"];
[parameters setobject: @"blue" forkey: @"color"];
[stmt bindparameterdictionary: parameters];
// 執行插入
if ([stmt executeupdate] == no)
nslog(@"insert failed");
第三方SQLITE封裝庫pldatabase的介紹
下面我翻譯一下其最簡單的入門知識,在專案過程中,發現這些其實也夠用,但異常處理這些我還沒引進來使用.view plain copy to clipboard print?plsqlitedatabase db plsqlitedatabase alloc initwithpath path to d...
PyThon第三方庫
本文 自 戀花蝶的部落格 今天公司停電,沒上班。跑上來更新個部落格,跟大家分享一下我常用的幾個第三方 python 庫。python 語言之所以能夠如此流行,除了本身內建許多程式庫來保障快速開發之外,目不睱接的第三方庫也是一大主因。結合我目前的工作 網遊開發 我常用的幾個第三方庫如下 wxpytho...
lua第三方庫
luacom 支援com呼叫 luadoc 支援lua 的文件生成 luaexpat 支援xml解析 luafilesystem 檔案系統訪問 lualogging 基於log4j的日誌 luaprofiler 效能測試工具 luasocket 網路庫,支援http,ftp,smtp,mime,ur...