Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- SQLite
- B1 Nhung database Thu muc goc > Add File > Chon File SQLite da tao
- B2 Thu muc goc nhung thu vien SQLite : Build Phases > Link Binary .. > Dau �+� > SQLite >
- libsqlite3.0.tbd > Add
- B3 Tao cau noi bang Objective C : Supporting File > New File > Coca Touch Class >
- Class : Dat ten gi cung duoc
- Subclass : Chon Cai gi cung duoc
- Language : Objective C > Finish > Yes
- B4 : Xoa FIle .m
- B5 : Mo File SQLite-Bridgin-Header.h va copy doan lenh sau
- #import <sqlite3.h>
- B4 : Copy Toan Bo Function Lam viec voi SQLite Vao Cuoi Trang
- func KhoaPhamTraining_Select( query:String, database:COpaquePointer)->COpaquePointer{
- var statement:COpaquePointer = nil
- sqlite3_prepare_v2(database, query, -1, &statement, nil)
- return statement
- }
- func KhoaPhamTraining_Query( sql:String, database:COpaquePointer){
- var errMsg:UnsafeMutablePointer<Int8> = nil
- let result = sqlite3_exec(database, sql, nil, nil, &errMsg);
- if (result != SQLITE_OK) {
- sqlite3_close(database)
- print("Cau truy van bi loi!")
- return
- }
- }
- func KhoaPhamTraining_Connect_DB_Sqlite( dbName:String, type:String)->COpaquePointer{
- var database:COpaquePointer = nil
- var dbPath:String = ""
- let documentsPath = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as NSString
- let storePath : NSString = documentsPath.stringByAppendingPathComponent(dbName)
- let fileManager : NSFileManager = NSFileManager.defaultManager()
- dbPath = NSBundle.mainBundle().pathForResource(dbName , ofType:type)!
- do {
- try fileManager.copyItemAtPath(dbPath, toPath: storePath as String)
- } catch {
- }
- let result = sqlite3_open(dbPath, &database)
- if result != SQLITE_OK {
- sqlite3_close(database)
- print("Failed to open database")
- }
- return database
- }
- B6 : Tao mang de do du lieu
- var mang:[String] = []
- B7 : Xu ly du lieu (Select,Insert,Update,Delete)
- // Cau lenh ket noi SQLite
- let database:COpaquePointer = self.KhoaPhamTraining_Connect_DB_Sqlite("demo246", type: "sqlite")
- // Cau lenh de Select
- let statement:COpaquePointer = KhoaPhamTraining_Select("SELECT * FROM danhsach", database: database)
- // Do du lieu vao mang
- while sqlite3_step(statement) == SQLITE_ROW {
- // Do ra tung cot tuong ung voi no
- let row = Int(sqlite3_column_int(statement, 0))
- let rowData = sqlite3_column_text(statement, 1)
- // Neu cot nao co dau tieng viet thi can phai lam them buoc nay
- let fieldValue = String.fromCString(UnsafePointer<CChar>(rowData))
- // Them Vao mang da co
- mang.append(fieldValue!)
- }
- sqlite3_finalize(statement)
- sqlite3_close(database)
- // Cau lenh de INSERT
- self.KhoaPhamTraining_Query("INSERT INTO danhsach VALUES (null,'YYY', 'congiday.png')", database: database)
- // Cau lenh de DELETE
- self.KhoaPhamTraining_Query("DELETE FROM danhsach WHERE id=2", database: database)
- // Cau lenh de UPDATE
- self.KhoaPhamTraining_Query("UPDATE danhsach SET matkhau='hoangnguyenvu' WHERE id=2", database: database)
- ________________________
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement