国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > iOS > 正文

iOS中sqlite的詳細用法

2020-02-19 15:49:01
字體:
來源:轉載
供稿:網友

sqlite是一個嵌入的輕型SQL數據庫,sqlite是由C實現的,廣泛應用于瀏覽器、iOS、Android等小型Web應用以及一些可移植的需求,下面就讓武林技術頻道小編帶你進入下文學習吧!

具體內容如下

#import <sqlite3.h>@interface ViewController (){ sqlite3 *_sqldb;}@end@implementation ViewController- (void)viewDidLoad{ [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. [self OpenDb]; [self createTable]; [self insertData]; [self FindData];}//打開數據庫-(void)OpenDb{  NSArray *arrs= NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); //創建數據庫,如果數據庫存在就直接打開,不存在就創建打開 NSString *path=[arrs lastObject] ; NSString *documentpath= [path stringByAppendingPathComponent:@"sql.db"]; int reslut= sqlite3_open([documentpath UTF8String], &_sqldb); if(reslut==SQLITE_OK){ NSLog(@"數據庫已被打開"); } }//通過數據庫實例創建表-(void)createTable{ //不帶參數的sql語句 const char* sql="create table if not exists t_person (id integer primary key autoincrement,name text,age integer);"; char *error; //sqlite3_exec可以執行一切不帶參數的SQL語句。如果是帶參數最好不用,防止SQL注入漏洞攻擊 int resutl= sqlite3_exec(_sqldb, sql, NULL, NULL, &error); if(resutl==SQLITE_OK){ NSLog(@"創建表成功"); }else{ NSLog(@"創建表失敗--》%s",error);}}//插入數據-(void)insertData{ //帶參數的SQL語句 "?"是帶參數的占位符 const char * sql="insert into t_person(name,age) values(?,?);"; sqlite3_stmt *stmp; //在執行SQL語句之前檢查SQL語句語法,-1代表字符串的長度 int result= sqlite3_prepare_v2(_sqldb, sql, -1, &stmp, NULL); if(result==SQLITE_OK){ NSLog(@"插入SQL語句語法沒有問題"); //綁定參數,插入的參數的下標是從1開始 sqlite3_bind_text(stmp, 1, "gcb", -1, NULL); sqlite3_bind_int(stmp, 2, 12);  //執行參參數的SQL語句,不能有exec int result=sqlite3_step(stmp); //插入進行判斷,要用sqLite_Done來判斷 if(result==SQLITE_DONE){  NSLog(@"插入成功"); } else{  NSLog(@"插入失敗") ; }  } else{ NSLog(@"插入SQL語句有問題"); }}-(void)FindData{ char *sql="select id,name,age from t_person"; //查詢做好用step執行 sqlite3_stmt *stmt; //檢查SQL語句的語法問題 int result= sqlite3_prepare_v2(_sqldb, sql, -1, &stmt, NULL); if(result==SQLITE_OK){ while (sqlite3_step(stmt)==SQLITE_ROW) {  //查詢的列是0開始 插入的列從1開始//  int xh=sqlite3_column_int(stmt, 0);  int xh=sqlite3_column_int(stmt, 0);  char * name=(char *)sqlite3_column_text(stmt, 1);  int age=sqlite3_column_int(stmt, 2);  NSLog(@"xh=%i-->name=%s-->age=%i",xh,name,age);       } } else{ NSLog(@"查詢SQL語法有誤"); }}

iOS中sqlite的詳細用法是武林技術頻道小編為大家總結了的經驗,希望大家可以快速提高自己的技術知識。感謝大家繼續支持武林技術頻道!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 连云港市| 成武县| 昭苏县| 屏东市| 通江县| 眉山市| 兴和县| 鄂州市| 桂东县| 铜山县| 鹤峰县| 独山县| 瓦房店市| 景东| 镇宁| 井陉县| 宜昌市| 徐水县| 铜山县| 民县| 南召县| 武平县| 昌图县| 阿坝| 合肥市| 吉林省| 正安县| 塔河县| 当雄县| 临湘市| 新民市| 喜德县| 广西| 临沭县| 墨玉县| 巴里| 鄂伦春自治旗| 三穗县| 德化县| 格尔木市| 绥芬河市|