第三方SQLITE封裝庫pldatabase的介紹

2021-05-25 01:48:39 字數 1981 閱讀 5948

下面我翻譯一下其最簡單的入門知識,在專案過程中, 發現這些其實也夠用, 但異常處理這些我還沒引進來使用.

view plain

copy to clipboard

print?

plsqlitedatabase *db = [[plsqlitedatabase alloc] initwithpath:  @"/path/to/database"];  

if (![db open])  

nslog(@"could not open database");  

更新操作可以使用 -[pldatabase executeupdate:]

view plain

copy to clipboard

print?

if (![db executeupdate: @"create table example (id integer)"])  

nslog(@"table creation failed");  

if (![db executeupdate: @"insert into example (id) values (?)", [nsnumber numberwithinteger: 42]])  

nslog(@"data insert failed");  

執行查詢操作可以使用 -[pldatabase executequery:]. 該操作返回結果集是乙個物件為plresult的nsobject例項.使用方法如下

view plain

copy to clipboard

print?

idresults = [db executequery: @"select id from example where id = ?", [nsnumber numberwithinteger: 42]];  

while ([results next])   

// 如果沒有關閉結果集不會導致記憶體洩漏, 但會結果集會被保留直到下一次的查詢  

[results close];  

plpreparedstatement支援sql操作的預編譯和引數優先繫結. 執行準備的操作可以呼叫:-[pldatabase preparestatement:].

idstmt = [db preparestatement: @"insert into example (name, color) values (?, ?)"];

// 繫結引數

[stmt bindparameters: [nsarray arraywithobjects: @"widget", @"blue", nil]];

// 執行插入

if ([stmt executeupdate] == no)

nslog(@"insert failed");

當引數很多的時候, 能過命名引數繫結的可讀性強很多

用法如下:

view plain

copy to clipboard

print?

// 準備  

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的介紹

下面我翻譯一下其最簡單的入門知識,在專案過程中,發現這些其實也夠用,但異常處理這些我還沒引進來使用.plsqlitedatabase db plsqlitedatabase alloc initwithpath path to database if db open nslog could not ...

PyThon第三方庫

本文 自 戀花蝶的部落格 今天公司停電,沒上班。跑上來更新個部落格,跟大家分享一下我常用的幾個第三方 python 庫。python 語言之所以能夠如此流行,除了本身內建許多程式庫來保障快速開發之外,目不睱接的第三方庫也是一大主因。結合我目前的工作 網遊開發 我常用的幾個第三方庫如下 wxpytho...

lua第三方庫

luacom 支援com呼叫 luadoc 支援lua 的文件生成 luaexpat 支援xml解析 luafilesystem 檔案系統訪問 lualogging 基於log4j的日誌 luaprofiler 效能測試工具 luasocket 網路庫,支援http,ftp,smtp,mime,ur...