亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

iOS中SQLite數據庫操作

2019-11-14 18:05:04
字體:
來源:轉載
供稿:網友

在iOS中實現SQLite數據庫的操作:1.導入框架(libsqlite3.0.tbd) 2.導入頭文件<sqlite3.h> 3.實現數據的增刪改查

實現簡單 SQLite數據庫操作 的 demo 具體過程:

1.創建名為 SQLite_Manage 的.h .m 文件,導入頭文件 <sqlite3.h>

2.數據庫在一個app中只有一個,使用單例模式:(代碼如下)

1 + (SQLite_Manager *)sharedManager{2     static SQLite_Manager *manager = nil;3     static dispatch_once_t onceToken;4     dispatch_once(&onceToken, ^{5         manager = [[SQLite_Manager alloc]init];6     });7     return manager;8 }

3.打開數據庫,代碼如下:

 1 - (void)open{ 2     //document路徑 3     NSString *docment = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject]; 4     //sqlite 路徑 5     NSString *sqlitePath = [docment stringByAppendingPathComponent:@"database.sqlite"]; 6     //打開數據庫 7     int result = sqlite3_open(sqlitePath.UTF8String, &db); 8     //判斷數據庫是否打開成功 9     if (result == SQLITE_OK) {10         UIAlertView *alertView = [[UIAlertView alloc]initWithTitle:@"數據庫執行結果" message:@"打開成功" delegate:nil cancelButtonTitle:nil otherButtonTitles:@"確定", nil];11         [alertView show];12     }else {13         UIAlertView *alertView = [[UIAlertView alloc]initWithTitle:@"數據庫執行結果" message:@"打開失敗" delegate:nil cancelButtonTitle:nil otherButtonTitles:@"確定", nil];14         [alertView show];15     }16 }

 

4.創建表,代碼如下:

 1 - (void)creatTable{ 2     //sql語句 3     NSString *sqlString = @"create table Person (id integer PRimary key,name text,age integer)"; 4     //執行SQL語句 5     char *error = nil; 6     sqlite3_exec(db, sqlString.UTF8String, nil, nil, &error); 7      8     //判斷是否出現了錯誤 9     if (error == nil){10         UIAlertView *alertView = [[UIAlertView alloc]initWithTitle:@"數據庫執行結果" message:@"創建表成功" delegate:nil cancelButtonTitle:nil otherButtonTitles:@"確定", nil];11         [alertView show];12     }else {13         UIAlertView *alertView = [[UIAlertView alloc]initWithTitle:@"數據庫執行結果" message:@"創建表失敗" delegate:nil cancelButtonTitle:nil otherButtonTitles:@"確定", nil];14         [alertView show];15     }16 }

 

5.插入數據,代碼如下:

 1 - (void)insert{ 2     //sql語句 3     NSString *sqlString = @"insert into Person ('name','age') values ('Ager',18)"; 4     //執行SQL語句 5     char *error = nil; 6     sqlite3_exec(db, sqlString.UTF8String, nil, nil, &error); 7     //判斷是否出現了錯誤 8     if (error == nil){ 9         UIAlertView *alertView = [[UIAlertView alloc]initWithTitle:@"數據庫執行結果" message:@"插入數據成功" delegate:nil cancelButtonTitle:nil otherButtonTitles:@"確定", nil];10         [alertView show];11     }else {12         UIAlertView *alertView = [[UIAlertView alloc]initWithTitle:@"數據庫執行結果" message:@"插入數據失敗" delegate:nil cancelButtonTitle:nil otherButtonTitles:@"確定", nil];13         [alertView show];14     }15 16 }

 

6.修改數據,代碼如下:

 1 - (void)update{ 2     //sql語句 3     NSString *sqlString = @"update Person set 'name' = 'Arun' where id = 1"; 4     //執行sql語句 5     char *error = nil; 6     sqlite3_exec(db, sqlString.UTF8String, nil, nil, &error); 7      8     //判斷是否出現了錯誤 9     if (error == nil){10         UIAlertView *alertView = [[UIAlertView alloc]initWithTitle:@"數據庫執行結果" message:@"數據更新成功" delegate:nil cancelButtonTitle:nil otherButtonTitles:@"確定", nil];11         [alertView show];12     }else {13         UIAlertView *alertView = [[UIAlertView alloc]initWithTitle:@"數據庫執行結果" message:@"數據更新失敗" delegate:nil cancelButtonTitle:nil otherButtonTitles:@"確定", nil];14         [alertView show];15     }16 }

 

7.查詢數據,代碼如下:

 1 - (void)select{ 2     //sql語句 3     NSString *sqlString = @"select * from Person"; 4     //準備sql 5     sqlite3_stmt *stmt = nil; 6     sqlite3_prepare(db, sqlString.UTF8String,-1, &stmt, nil); 7     //單步執行語句 8     while (sqlite3_step(stmt) == SQLITE_ROW) { 9         int ID = sqlite3_column_int(stmt, 0);10         const unsigned char *name = sqlite3_column_text(stmt, 1);11         int age = sqlite3_column_int(stmt, 2);12         NSLog(@"%d,%s,%d",ID,name,age);13     }14     sqlite3_finalize(stmt);15 }

 

8.刪除數據,代碼如下:

 1 - (void)deleteData{ 2     //sql語句 3     NSString *sqlString = @"delete from Person where id = 1"; 4     //執行sql語句 5     char *error = nil; 6     sqlite3_exec(db, sqlString.UTF8String, nil, nil, &error); 7     //判斷是否出現了錯誤 8     if (error == nil){ 9         UIAlertView *alertView = [[UIAlertView alloc]initWithTitle:@"數據庫執行結果" message:@"刪除成功" delegate:nil cancelButtonTitle:nil otherButtonTitles:@"確定", nil];10         [alertView show];11     }else {12         UIAlertView *alertView = [[UIAlertView alloc]initWithTitle:@"數據庫執行結果" message:@"刪除失敗" delegate:nil cancelButtonTitle:nil otherButtonTitles:@"確定", nil];13         [alertView show];14     }15 }

 

9.關閉數據庫,代碼如下:

 1 - (void)close{ 2     //關閉數據庫 3     int result = sqlite3_close(db); 4     //判斷數據庫是否關閉成功 5     if (result == SQLITE_OK) { 6         UIAlertView *alertView = [[UIAlertView alloc]initWithTitle:@"數據庫執行結果" message:@"關閉成功" delegate:nil cancelButtonTitle:nil otherButtonTitles:@"確定", nil]; 7         [alertView show]; 8     }else { 9         UIAlertView *alertView = [[UIAlertView alloc]initWithTitle:@"數據庫執行結果" message:@"關閉失敗" delegate:nil cancelButtonTitle:nil otherButtonTitles:@"確定", nil];10         [alertView show];11     }12 }

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲国产欧美一区二区丝袜黑人| 8090理伦午夜在线电影| 77777少妇光屁股久久一区| 国产精品一久久香蕉国产线看观看| 亚洲大胆人体视频| 久久影视免费观看| 国产精品va在线播放| 国产成人一区二区在线| 欧美老女人xx| 亚洲欧美国产精品久久久久久久| 国产成人精品免高潮费视频| 欧美大片大片在线播放| 97av在线视频免费播放| 亚洲最大福利视频网站| 狠狠色香婷婷久久亚洲精品| 亚洲国产一区二区三区四区| 国产欧美日韩视频| 怡红院精品视频| 亚洲肉体裸体xxxx137| 欧美日韩国产黄| 日韩av在线精品| 91精品啪aⅴ在线观看国产| 日韩精品免费在线| 91精品国产亚洲| 正在播放国产一区| 国产婷婷成人久久av免费高清| 欧美一区二区三区艳史| 欧美激情18p| 国产专区欧美专区| 亚洲直播在线一区| 中文字幕亚洲天堂| 精品日本高清在线播放| 日本精品免费一区二区三区| 在线中文字幕日韩| 久久亚洲私人国产精品va| 亚洲黄色av女优在线观看| 午夜精品三级视频福利| 欧美成人一区在线| 国产欧美一区二区三区在线看| 欧美巨乳在线观看| 国产a级全部精品| 这里精品视频免费| 日韩二区三区在线| 国产日韩av在线| 亚洲第一福利视频| 国产精品福利在线观看网址| 国产精品18久久久久久首页狼| 日本精品免费观看| 丝袜亚洲欧美日韩综合| 一本一本久久a久久精品综合小说| 亚洲精品99久久久久中文字幕| 亚洲第一av网| 亚洲欧美在线看| 欧美极品在线视频| 国产成人一区二区三区| 欧美重口另类videos人妖| 久久久久久久色| 午夜欧美不卡精品aaaaa| 在线日韩精品视频| 国产日韩欧美中文| 成人两性免费视频| 日韩免费视频在线观看| 日韩欧美中文字幕在线播放| 国产精品美女主播在线观看纯欲| 亚洲成人动漫在线播放| 久热国产精品视频| 亚洲免费高清视频| 亚洲欧美一区二区精品久久久| 国产欧美一区二区| 精品自在线视频| 亚洲最大的网站| 亚洲自拍偷拍第一页| 美女啪啪无遮挡免费久久网站| 欧美巨乳美女视频| 38少妇精品导航| 亚洲色图15p| 韩国美女主播一区| 91视频-88av| 伦伦影院午夜日韩欧美限制| 欧美色视频日本高清在线观看| 欧美激情小视频| 日韩美女毛茸茸| 欧美日韩国产页| 亚洲天堂男人天堂| 久久99国产综合精品女同| 国产精品高潮粉嫩av| 日韩中文视频免费在线观看| 亚洲三级av在线| 另类少妇人与禽zozz0性伦| 欧美日韩亚洲一区二区三区| 性欧美亚洲xxxx乳在线观看| 国产日韩在线看片| 亚洲美女动态图120秒| 91精品国产91久久久久久久久| 日韩视频免费在线| 亚洲色图35p| 亚洲精品在线不卡| 不卡av电影在线观看| 国产精品久久久久久一区二区| 亚洲第一区中文字幕| 一区二区在线视频| 成人a在线观看| 日韩av在线精品| 久久久久久久久久av| 亚洲精品永久免费精品| 日韩欧美中文免费| 91国语精品自产拍在线观看性色| 精品久久久久久久久久ntr影视| 亚洲成人亚洲激情| 欧美激情欧美激情在线五月| 日韩福利伦理影院免费| 亚州精品天堂中文字幕| 亚洲人成电影网站色| 亚洲九九九在线观看| 色综合久综合久久综合久鬼88| 清纯唯美亚洲综合| 久久影视电视剧凤归四时歌| 国产噜噜噜噜噜久久久久久久久| 日本韩国欧美精品大片卡二| 91性高湖久久久久久久久_久久99| 亚洲aⅴ日韩av电影在线观看| 97视频人免费观看| 日本欧美中文字幕| 国产精品久久二区| 91在线视频成人| 51久久精品夜色国产麻豆| 在线观看日韩www视频免费| 欧美性jizz18性欧美| 久久影院中文字幕| 国产精品自产拍在线观看| 日韩欧美在线观看| 国模视频一区二区| 欧美激情欧美狂野欧美精品| 中文字幕国产亚洲2019| 成人综合国产精品| 国产成人福利网站| 久久伊人精品视频| 亚洲人成毛片在线播放| 日韩精品高清在线观看| 欧美人在线观看| 成人xxxxx| 亚洲美女性生活视频| 51久久精品夜色国产麻豆| 欧美中文字幕在线视频| 久久久久久久久久久91| 91地址最新发布| 亚洲国产另类久久精品| www.99久久热国产日韩欧美.com| 国内精品一区二区三区四区| 亚州欧美日韩中文视频| 51精品国产黑色丝袜高跟鞋| 亚洲欧美激情精品一区二区| 亚洲xxx视频| 日韩欧美亚洲一二三区| 国产精品第七十二页| 欧美精品video| 日韩有码在线观看| 成人国产在线激情| 久久久91精品| 中文字幕av日韩| 亚洲精品一区av在线播放| 亚洲成人动漫在线播放| 日韩中文字幕不卡视频| 色综合伊人色综合网站|