乙個SQLite3的小例子

2021-06-20 02:15:19 字數 2980 閱讀 6685

寫了乙個比較簡單的sqlite3的簡單demo只實現了增加 更新 刪除 獲取全部資料  查詢   資料庫部分有詳細注釋    介面也比較簡陋主要是實現一下資料庫部分

部分**如下:

//獲取document目錄並返回資料庫目錄

- (nsstring *)datafilepath

//建立,開啟資料庫

- (bool)opendb

//建立乙個新錶

[self

createtestlist:

self

._database];

returnyes; }

//如果發現資料庫不存在則利用sqlite3_open建立資料庫(上面已經提到過),與上面相同,路徑要轉換為c字串

if(sqlite3_open([path utf8string], &

_database

) == 

sqlite_ok

)  else 

returnno; }

//建立表

- (bool) createtestlist:(sqlite3*)db

//執行sql語句

int success = sqlite3_step(statement);

//釋放sqlite3_stmt 

sqlite3_finalize(statement);

//執行sql語句失敗

if ( success != sqlite_done)

nslog

(@"create table 'testtable' successed.");

returnyes; }

//插入資料

-(bool) inserttestlist:(sqltestlist *)insertlist

//這裡的數字1,2,3代表第幾個問號,這裡將兩個值繫結到兩個繫結變數

sqlite3_bind_int(statement, 1, insertlist.sqlid);

sqlite3_bind_text(statement, 2, [insertlist.sqltext

utf8string], -1, sqlite_transient);

//執行插入語句

success2 = sqlite3_step(statement);

//釋放statement

sqlite3_finalize(statement);

//如果插入失敗

if (success2 == sqlite_error)

//關閉資料庫

sqlite3_close(

_database);

returnyes; }

returnno; }

//獲取資料

- (nsmutablearray*)gettestlist

else 

}sqlite3_finalize(statement);

sqlite3_close(

_database);

}return [array retain];

}//更新資料

-(bool) updatetestlist:(sqltestlist *)updatelist

//這裡的數字1,2,3代表第幾個問號。這裡只有1個問號,這是乙個相對比較簡單的資料庫操作,真正的專案中會遠遠比這個複雜

//當掌握了原理後就不害怕複雜了

sqlite3_bind_text(statement, 1, [updatelist.sqltext

utf8string], -1, sqlite_transient);

sqlite3_bind_int(statement, 2, updatelist.sqlid);

//執行sql語句。這裡是更新資料庫

success = sqlite3_step(statement);

//釋放statement

sqlite3_finalize(statement);

//如果執行失敗

if (success == sqlite_error)

//執行成功後依然要關閉資料庫

sqlite3_close(

_database);

returnyes; }

returnno; }

//刪除資料

- (bool) deletetestlist:(sqltestlist *)deletlist

//這裡的數字1,2,3代表第幾個問號。這裡只有1個問號,這是乙個相對比較簡單的資料庫操作,真正的專案中會遠遠比這個複雜

//當掌握了原理後就不害怕複雜了

sqlite3_bind_int(statement, 1, deletlist.sqlid);

sqlite3_bind_text(statement, 2, [deletlist.sqltext

utf8string], -1, sqlite_transient);

//執行sql語句。這裡是更新資料庫

success = sqlite3_step(statement);

//釋放statement

sqlite3_finalize(statement);

//如果執行失敗

if (success == sqlite_error)

//執行成功後依然要關閉資料庫

sqlite3_close(

_database);

returnyes; }

returnno;

}//查詢資料

- (nsmutablearray*)searchtestlist:(int)searchid

else 

}sqlite3_finalize(statement);

sqlite3_close(

_database);

}return [array retain];

}

otl 操作 sqlite3 簡單例子

我用sqlite3作為odbc,在vc6.0下試了以下程式沒有問題,可以用 define odbcver 0x0250 c c code include iostream using namespace std include stdio.h include string h include std...

乙個簡單的支援MySQL和SQLite3的DB介面

c 源 ifndef mooon sys db h define mooon sys db h include sys db exception.h include string include vector sys namespace begin typedef std vectorstd str...

Sqlite 的小例子

第一步,搞乙個資料庫幫助類,繼承sqliteopenhelper類 第二步,寫乙個activity,用來對資料庫實現相關操作 第三步,當然不可缺少布局檔案,相當簡單,就不再貼 了 第四步,執行結果 05 10 03 43 50.959 info system.out 15420 資料已經存在!05 ...