Advertisement
thieumao

SQLite iOS

May 12th, 2016
166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.16 KB | None | 0 0
  1. SQLite
  2. B1 Nhung database Thu muc goc > Add File > Chon File SQLite da tao
  3.  
  4. B2 Thu muc goc nhung thu vien SQLite : Build Phases > Link Binary .. > Dau �+� > SQLite >
  5. libsqlite3.0.tbd > Add
  6.  
  7. B3 Tao cau noi bang Objective C : Supporting File > New File > Coca Touch Class >
  8. Class : Dat ten gi cung duoc
  9. Subclass : Chon Cai gi cung duoc
  10. Language : Objective C > Finish > Yes
  11.  
  12. B4 : Xoa FIle .m
  13.  
  14. B5 : Mo File SQLite-Bridgin-Header.h va copy doan lenh sau
  15. #import <sqlite3.h>
  16.  
  17. B4 : Copy Toan Bo Function Lam viec voi SQLite Vao Cuoi Trang
  18. func KhoaPhamTraining_Select( query:String, database:COpaquePointer)->COpaquePointer{
  19. var statement:COpaquePointer = nil
  20. sqlite3_prepare_v2(database, query, -1, &statement, nil)
  21. return statement
  22. }
  23.  
  24. func KhoaPhamTraining_Query( sql:String, database:COpaquePointer){
  25. var errMsg:UnsafeMutablePointer<Int8> = nil
  26. let result = sqlite3_exec(database, sql, nil, nil, &errMsg);
  27. if (result != SQLITE_OK) {
  28. sqlite3_close(database)
  29. print("Cau truy van bi loi!")
  30. return
  31. }
  32. }
  33.  
  34. func KhoaPhamTraining_Connect_DB_Sqlite( dbName:String, type:String)->COpaquePointer{
  35. var database:COpaquePointer = nil
  36. var dbPath:String = ""
  37. let documentsPath = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as NSString
  38. let storePath : NSString = documentsPath.stringByAppendingPathComponent(dbName)
  39. let fileManager : NSFileManager = NSFileManager.defaultManager()
  40. dbPath = NSBundle.mainBundle().pathForResource(dbName , ofType:type)!
  41. do {
  42. try fileManager.copyItemAtPath(dbPath, toPath: storePath as String)
  43. } catch {
  44.  
  45. }
  46. let result = sqlite3_open(dbPath, &database)
  47. if result != SQLITE_OK {
  48. sqlite3_close(database)
  49. print("Failed to open database")
  50. }
  51. return database
  52. }
  53.  
  54. B6 : Tao mang de do du lieu
  55. var mang:[String] = []
  56.  
  57. B7 : Xu ly du lieu (Select,Insert,Update,Delete)
  58.  
  59. // Cau lenh ket noi SQLite
  60. let database:COpaquePointer = self.KhoaPhamTraining_Connect_DB_Sqlite("demo246", type: "sqlite")
  61.  
  62. // Cau lenh de Select
  63. let statement:COpaquePointer = KhoaPhamTraining_Select("SELECT * FROM danhsach", database: database)
  64.  
  65. // Do du lieu vao mang
  66. while sqlite3_step(statement) == SQLITE_ROW {
  67. // Do ra tung cot tuong ung voi no
  68. let row = Int(sqlite3_column_int(statement, 0))
  69. let rowData = sqlite3_column_text(statement, 1)
  70. // Neu cot nao co dau tieng viet thi can phai lam them buoc nay
  71. let fieldValue = String.fromCString(UnsafePointer<CChar>(rowData))
  72. // Them Vao mang da co
  73. mang.append(fieldValue!)
  74. }
  75. sqlite3_finalize(statement)
  76. sqlite3_close(database)
  77.  
  78. // Cau lenh de INSERT
  79. self.KhoaPhamTraining_Query("INSERT INTO danhsach VALUES (null,'YYY', 'congiday.png')", database: database)
  80.  
  81. // Cau lenh de DELETE
  82. self.KhoaPhamTraining_Query("DELETE FROM danhsach WHERE id=2", database: database)
  83.  
  84. // Cau lenh de UPDATE
  85. self.KhoaPhamTraining_Query("UPDATE danhsach SET matkhau='hoangnguyenvu' WHERE id=2", database: database)
  86.  
  87. ________________________
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement