寫了乙個比較簡單的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 ...