1.分別導入頭文件和libsqlite3.dylib框架sql
#import <sqlite3.h>
2.建立數據庫句柄數據庫
sqlite3 *db;
3.用建立的句柄建立或打開數據庫框架
//打開數據庫 if (sqlite3_open([daPath UTF8String], &db) != SQLITE_OK) { sqlite3_close(db); NSLog(@"打開錯誤"); }else{ NSLog(@"ok"); }
4.數據表操做方法code
- (void)execSql:(NSString *)sql{ char *err = nil; if (sqlite3_exec(db, [sql UTF8String], nil, nil, &err) != SQLITE_OK) { sqlite3_close(db); NSLog(@"%@ err:%s", sql, err); }else { NSLog(@"%@ ok", sql); } }
5.建立數據表orm
-(void)createOrOpenTable{ NSString *sqlCreateTable = @"CREATE TABLE IF NOT EXISTS Students (ID INTEGER PRIMARY KEY AUTOINCREMENT, name varchar(20), age INTEGER, school varchar(40))"; [self execSql:sqlCreateTable]; }
6.在數據表中插入新數據sqlite
- (void)insertAValueWithName:(NSString *)aName andAge:(NSInteger)anAge andSchool:(NSString *)aSchool{ NSString *sql1 = [NSString stringWithFormat: @"INSERT INTO Students (name, age, school) VALUES ('%@', '%d', '%@')" , aName, anAge, aSchool]; [self execSql:sql1]; }
7.獲取數據表中的數據get
- (NSMutableArray *)getPersons{ NSString *sqlQuery = @"select * from Students"; sqlite3_stmt *statement; NSMutableArray *personArray = [NSMutableArray array]; if (sqlite3_prepare_v2(db, [sqlQuery UTF8String], -1, &statement, nil) == SQLITE_OK) { while (sqlite3_step(statement) == SQLITE_ROW) { char *name = (char *)sqlite3_column_text(statement, 1); NSString *nameString = [NSString stringWithUTF8String:name]; int age = sqlite3_column_int(statement, 2); char *school = (char *)sqlite3_column_text(statement, 3); NSString *schoolString = [NSString stringWithUTF8String:school]; Person *per = [[Person alloc] initWithName:nameString andAge:age andSchool:schoolString]; [personArray addObject:per]; } }else{ NSLog(@"打開失敗"); } return personArray; }