iOS sqlite C語言操作
利用周六時間看了一下關於sqlite的知識,在這記錄一下。看的傳智播客視頻
對資料的操作基本上就是增刪改查:
static sqlite3 *db; //聲明一個資料庫@implementation XSDBOperator+ (void)initialize{ NSString *filename = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject]stringByAppendingPathComponent:@"student.sqlite"]; //資料庫檔案路徑 //如果檔案存在,則開啟資料庫檔案,如果不存在則建立,並且開啟 int result = sqlite3_open(filename.UTF8String, &db); // //判斷是否開啟資料庫成功 if (result == SQLITE_OK) { NSLog(@"開啟資料庫成功"); } else { NSLog(@"開啟失敗"); }}#pragma mark - 建立資料庫表+(BOOL)creatTable{ char *sql = "create table if not exists t_student (id integer primary key autoincrement,name text,age integer,score integer);"; char *errorMesg = NULL; int result = sqlite3_exec(db, sql, NULL, NULL, &errorMesg);//用於操作資料庫 if (result == SQLITE_OK) { return YES; } else { NSLog(@"建立表失敗,失敗原因:%s",errorMesg); return NO; }}+(BOOL)insert{ char *sql = "insert into t_table (name,age) values('jack',20)"; char *errorMesg = NULL; int result = sqlite3_exec(db, sql , NULL, NULL, &errorMesg); if (result == SQLITE_OK) { return YES; } else { NSLog(@"插入資料失敗,失敗原因:%s",errorMesg); return NO; }}+ (BOOL)updata{ char *sql = "updata t_table set age = 12"; char *errorMesg = NULL; int result = sqlite3_exec(db, sql , NULL, NULL, &errorMesg); if (result == SQLITE_OK) { return YES; } else { NSLog(@"更新資料失敗,失敗原因:%s",errorMesg); return NO; }}+ (void)query{ char *sql = "select id,name,age from t_student;"; //查詢結果儲存集合 sqlite3_stmt *stmt= NULL; int result = sqlite3_prepare_v2(db, sql , -1, &stmt, NULL); if (result == SQLITE_OK) { NSLog(@"查詢語句合法"); while (sqlite3_step(stmt) == SQLITE_ROW) { //按照行進行遍曆 直到取完為止 int sid = sqlite3_column_int(stmt, 0); //取當前行出第幾列的值 const unsigned char *sname = sqlite3_column_text(stmt, 1); int sage = sqlite3_column_int(stmt, 2); NSLog(@"%d,%s,%d",sid,sname,sage); } } else { NSLog(@"查詢語句不合法"); }}@end