步驟1. 匯入 sqlite3框架 在 build phases 裡的 link binary with libraries 點加號 新增 sqlite3框架
步驟2. 建立父類是 nsobject 的單例類
.h 中
2.1 匯入 #import
建資料庫表sql語句, 若已經建立過則不會再建立 資料庫自己會判斷。table studentinfo already exists
// autoincrement
nsstring *createtablesql = @"create table activityinfo (id text primary key not null, title text, imageurl text,data blob); create table movieinfo(id integer primary key autoincrement not null, title text, imageurl text, data blob)";
// 敲出來之後 : sqlitemanager 用資料庫軟體驗證一下
// 執行非查詢 ,sql 語句 , 可以使用比較便捷的方式 sqlite_exec(); // execute
sqlite3_exec(db, createtablesql.utf8string, null, null, null); // c 中是null
}
});
return db;
}
2.5 關閉方法實現
+ ( void )close // 關閉資料庫
步驟3 將資料庫與需要將資料儲存到資料庫中的 model 類進行關聯 可實現對資料庫的增刪改查操作
.h 中
3.1引入資料庫單例的標頭檔案
3.2宣告 增刪改查的類方法
.m 中
3.3 增刪改查實現框架
// 1.sqlite3* 需要乙個被開啟的資料庫指標 .
sqlite3 *db =[dbhelper open];
// 2.需要 sqlite3_stmt sql 語句物件 // stmt 是 statement 語句的意思
sqlite3_stmt *stmt = nil;
// 3.sqlite3_prepare_v2() 預執行方法
int result = sqlite3_prepare_v2(db,」select * from studentinfo/此處填 sqlite 命令語句需要賦值的內容用?替代/」, -1, &stmt, nil);
// 引數: db 資料庫指標, const char *,c語言型別的 sql 字串,-1系統讀取 sql 字串的長度為無窮大,& stmt 語句物件, nil, 沒有執行的 sql 字串
// 此方法作用是:讓 sql 語句物件 預執行sql 字串,執行成功才會 接著運算元據庫
// 4.對預執行進行判斷
if (result == sqlite_ok)
// stmt 所佔空間給釋放掉
sqlite3_finalize(stmt);
附加 增刪改查具體實現
+(nsarray*)findallstundets }
// stmt 所佔空間給釋放掉
sqlite3_finalize(stmt);
return studentarray;
}
// 查某乙個
+ (student*)findstudentbysid:(nsinteger)sid
// stmt 所佔空間給釋放掉
sqlite3_finalize(stmt);
return student;
} // 插入一條學生資料
+ (void)insertstudnetforname:(nsstring*)name age:(nsinteger)age }
sqlite3_finalize(stmt);
} // 修改學生資料
+ (void)updatastudentforsid:(nsinteger)sid newname:(nsstring*)newname newage:(nsinteger)newage }
sqlite3_finalize(stmt);
} // 刪除學生資料,根據 sid
+ (void)deletestudentforsid:(nsinteger)sid }
sqlite3_finalize(stmt);
}
Sqlite資料庫及資料庫知識點總結
sqlite資料庫就是乙個dll檔案,將它引用到你的專案裡就可以了。不同的開發語言就不同的dll檔案,如果你是用.net開發的,就去搜尋system.data.sqlite.dll這個檔案。至於下哪個檔案,你自己看著辦吧。source code 源 因為sqlite是開源的。documentatio...
SQLite資料庫掃盲
今天注意到 sqlite 3.6.11 上個月發布的 增加了乙個我期待已久的 online backup 介面,激動之餘就順便和大夥兒聊一下sqlite資料庫。本帖權當是sqlite掃盲,如果你對sqlite已經很熟悉,本文就不必再看了。技術上的優點和特性 sqlite是乙個輕量級 跨平台的關係型資...
瞎掰 Sqlite資料庫
為了方便專案的跨平台,在選用資料庫時選擇了輕量級的跨平台資料庫 sqlite 在使用過程中,將常用介面封裝了一下,使 相對簡潔,使用起來也相對方便。目前封裝了兩個介面 一 封裝了sqlite3 exec介面 int homedatabase callmysql sqlite3 sqlfd,const...