打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
IOS Sqlite的详细使用方法
    //在ios中,我们使用的数据库也是Sqlite,和Android一样,操作方法也很类似,不同的是Android中使用的sqlite都是java语句,而ios中使用的Sqlite则是C语言,纯的C语言

// 在ios中使用Sqlite数据库需要引入一个矿建,就是libsqlite3.dylib框架
// 如下图,首先点击项目,找到Build Phases--Link Binary With Libraries,然后点击左下角的小加号




//输入sqlite进行模糊搜索,然后选择下面那个libsqlite3.dylib 


// 选好之后就是这样

// 使用前需要引入 注意是<>括号,不是双引号

#import<sqlite3.h>


// 然后开始代码部分
// 创建数据库

#pragma mark 打开创建数据库

- (void)openDataBase {

   // 创建并打开数据库

   // 获取数据库的路径

   NSString *documentPath =[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)objectAtIndex:0];

   //设置数据库的路径和名词

   NSString *dataBasePath = [[NSString alloc] initWithString:[documentPathstringByAppendingPathComponent:@"sqlite.sqlite"]];

   // 创建并打开数据库

    int result = sqlite3_open([dataBasePath UTF8String], &db);

    if (result == SQLITE_OK) {

       NSLog(@"数据库打开成功");

    } else {

       NSLog(@"数据库打开失败。。。。。。");

    }

}



// 创建数据表

#pragma mark 创建数据表

- (void)createTabels {

   // sql语句

   char*sql = "create table if notexists t_persons (id integer primary key autoincrement, name text,age integer);";

   // 用于保存错误信息 

    char *error;

   //执行创建语句并接收结果

    int result = sqlite3_exec(db, sql, NULL, NULL, &error);

   // 判断是否创建成功

    if (result != SQLITE_OK) {

       NSLog(@"创建数据表失败~~~~~~~~%s",error);

    } else {

       NSLog(@"数据表创建成功");

    }

}



// 插入数据

#pragma mark 插入数据

- (void)insertData {

    // sql语句

   char*sql = "insert intot_persons(name, age) values(?, ?)";

   // 存储的内容

   sqlite3_stmt *stmt;

   // 执行语句并接收结果

    int result = sqlite3_prepare_v2(db, sql, -1, &stmt, NULL);

   // 判断是否成功

    if (result == SQLITE_OK) { // 语法通过

       //绑定数据

       sqlite3_bind_text(stmt, 1, "lidaze", -1, NULL);

       sqlite3_bind_int(stmt, 2, 10);

       // 执行插入语句

       if(sqlite3_step(stmt)  ==SQLITE_DONE) {

          NSLog(@"插入成功。。。。。");

       } else {

          NSLog(@"插入失败");

       }

    } else {

       NSLog(@"语法不通过");

    }

   // 释放stmt

   sqlite3_finalize(stmt);

}



// 查找数据

#pragma mark 查找数据

- (void)findData {

   // 准备C语言sql语句

   char*sql = "select * fromt_persons";

   // 准备stmt

   sqlite3_stmt *stmt;

   // 判断sql语句,并接收结果

    int result = sqlite3_prepare_v2(db, sql, -1, &stmt, NULL);

   // 判断结果

    if (result == SQLITE_OK) { // sql语句正确

       NSLog(@"sql语句正确");

       // 进行逐行读取内容

       while(sqlite3_step(stmt) ==SQLITE_ROW) {

          int ID = sqlite3_column_int(stmt, 0);

          char *name = (char *)sqlite3_column_text(stmt, 1);

          int age = sqlite3_column_int(stmt, 2);

          

          NSLog(@"id:%i, name:%s, age:%i", ID, name,age);

       }

    } else {

       NSLog(@"sql语句错误");

    }

}


// 删除数据

#pragma mark 删除数据

- (void)deleteData {

   // 准备sql语句

   char*sql = "delete from t_personswhere id = ?";

   // stmt

   sqlite3_stmt *stmt;

   // 判断sql语句

    int result = sqlite3_prepare(db, sql, -1, &stmt, NULL);

   // 判断sql语句时候通过

    if (result == SQLITE_OK) {

       NSLog(@"删除语句正确");

       //绑定数据

       sqlite3_bind_int(stmt, 1, 58);

       // 判断时候执行成功

       if(sqlite3_step(stmt) ==SQLITE_DONE) {

          NSLog(@"删除成功");

       } else {

          NSLog(@"删除是吧i");

       }

    } else {

       NSLog(@"删除语句错误");

    }

}



// 修改数据

#pragma mark 修改数据

- (void)updateData {

   // 准备C语言sql语句

   char*sql = "update t_persons setname = ?, age=18 where id = ?;";

   // 准备stmt

   sqlite3_stmt *stmt;

   // 执行sql语句的判断

    int result = sqlite3_prepare(db, sql, -1, &stmt, NULL);

   // 判断sql语句时候可用

    if (result == SQLITE_OK) {

       NSLog(@"修改语句正确");

       //绑定数据

       sqlite3_bind_text(stmt, 1, "Zeeeeeeeeeee", -1, NULL);

       sqlite3_bind_int(stmt, 2, 62);

       // 执行并判断结果

       if(sqlite3_step(stmt) ==SQLITE_DONE) {

          NSLog(@"修改成功");

       } else {

          NSLog(@"修改失败....");

       }

    } else {

       NSLog(@"修改语句错误....");

    }

}





本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
SQLite3的基本使用
数据库 ios
[原创] Xcode中使用sqlite3访问数据库
SQLite在多线程环境下的应用
iOS --database--sqlite(数据库)
《IOS应用开发教程》
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服