iOS 使用sqlite3 建表,删除表,添加记录, 查询记录

来源:互联网 发布:沈阳大友软件 编辑:程序博客网 时间:2024/05/16 11:17

1.打开数据库

NSString *DBPath = @"/Users/administrator/Movies/LanGu.sqlite3";

    sqlite3  *database = NULL;

    char           *errMsg;

    //1  创建或打开数据库

    if(sqlite3_open([DBPathUTF8String], &database)!=SQLITE_OK){

        NSLog(@"open error");

    }else{

        NSLog(@"open success");

    }

2.建表

const char *createTable1 ="CREATE TABLE IF NOT EXISTS LGRB(TITLE Text,CONTEXT Text,IMAGE BLOB)";

    if(sqlite3_exec(database, createTable1,NULL, NULL, &errMsg)!=SQLITE_OK){

        NSLog(@"Failed to create table1");

    }else{

        NSLog(@"succeed to create table1");

    }

3.   删除表 

NSString *dropTable1 = @"DROP TABLE JYDT";

    const char *drop_stmt = [dropTable1UTF8String];

    if(sqlite3_exec(database, drop_stmt,NULL, NULL, &errMsg)==SQLITE_OK)

    {

        NSLog(@"删除成功");

    }else{

        NSLog(@"删除不成功");

    }

4. 查询结果集

NSString *title;

    constchar *selectSql1 = "SELECT TITLE FROM LGGG WHERE rowid=1";

    sqlite3_stmt *statement;

    if(sqlite3_prepare_v2(database, selectSql1, -1, &statement,nil)==SQLITE_OK){

        NSLog(@"select ok");

    }

    while (sqlite3_step(statement)==SQLITE_ROW) {

        title = [[NSStringalloc]initWithCString:(char *)sqlite3_column_text(statement,0) encoding:NSUTF8StringEncoding];

        NSLog(@"%@",title);

    }

    sqlite3_finalize(statement);