iOS sqlite C語言操作

來源:互聯網
上載者:User

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


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.