iOS中SQLite的操作方法

 更新时间:2016年05月05日 08:58:22   作者:千叶的博客  
这篇文章主要为大家详细介绍了iOS中SQLite的操作方法,感兴趣的小伙伴们可以参考一下

今天终于花了点时间把之前项目中使用到的对SQLite操作的方法整理一下并上传到github上,下载地址:(https://github.com/peanutNote/QYSQLiteManagerDemo.git)。

与其他第三方目的一样,主要是为了使代码中有关对SQLite操作简单化,具体用法:

将QYSQLiteManager文件add到项目中,并在需要对SQLite进行操作的类中添加#import "QYSQLiteManager" 。

// 插入语句
- (void)insertTable
{
 // 创建sql语句
 NSString *sql = @"insert into teacher(name,id) values(?,?)";
 // 不可变参数
// BOOL isOK = [QYSQLiteManager insertTableWithSqlString:sql andArray:@[@"小明",@115]];
 // 可变参数
 BOOL isOK = [QYSQLiteManager insertTableWithSqlString:sql andObjects:@"小明",@"115", nil];
 if (isOK) {
  NSLog(@"数据插入成功");
 } else {
  NSLog(@"数据插入失败");
 }
}
// 查询语句
- (void)selectTable
{
 NSString *sql = @"select * from teacher";
 [QYSQLiteManager selectTableWithSqlString:sql didFinishedBlock:^(NSArray *dataList, NSString *error) {
  NSLog(@"%@",dataList);
 } andObjects:nil];
}

// 修改表语句
- (void)alterTable
{
 NSString *sql = @"alter table teacher add column pwd integer";
 if([QYSQLiteManager alterTableWithSqlString:sql])
 {
  NSLog(@"修改成功");
 }
}

// 更新数据语句
- (void)updateTable
{
 NSString *sql = @"update teacher set name = ? where id = ?";
 if ([QYSQLiteManager updateTableWithSqlString:sql andArray:@[@"小明",@115]]) {
  NSLog(@"更新成功");
 }
}

  有关查询语句返回的数据类型,有需要的同学可以自行在“QYSQLiteManager.m”中查找“sqlite3_bind_text”,然后在如下处

for (int i = 0; i < column_count; i++) {
     // 获取字段名
     char * keyName = (char *)sqlite3_column_name(stmt, i);
     NSString *key = [NSString stringWithUTF8String:keyName];
     if (sqlite3_column_type(stmt, i) == SQLITE_TEXT) { // 当字段数据是“text”时
      // 获取字段对应的数据
      char *valueName = (char *)sqlite3_column_text(stmt, i);
      NSString *value = [NSString stringWithUTF8String:valueName];
      [dataDic setObject:value forKey:key];
     } else { // 当字段数据是integer时
      int value = sqlite3_column_int(stmt, i);
      [dataDic setObject:@(value) forKey:key];
     }
    }

修改你自己想要的数据类型即可。

以上内容是小编给大家日常收集整理的iOS sqlite对数据库的各种操作,希望对大家有所帮助

相关文章

  • ios 实现倒计时的两种方式

    ios 实现倒计时的两种方式

    这篇文章主要介绍了ios实现倒计时的两种方式,第一种方式使用NSTimer来实现,第二种方式使用GCD来实现。具体内容详情大家参考下本文
    2017-01-01
  • 如何通过Objective-C的枚举学习iOS中位操作.md详解

    如何通过Objective-C的枚举学习iOS中位操作.md详解

    这篇文章主要给大家介绍了关于如何通过Objective-C的枚举学习iOS中位操作.md的相关资料,文中通过示例代码介绍的非常详细,对各位iOS开发者们具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-03-03
  • iOS sqlite对数据库的各种操作(日常整理全)

    iOS sqlite对数据库的各种操作(日常整理全)

    在IOS中使用Sqlite来处理数据。如果你已经了解了SQL,那你可以很容易的掌握SQLite数据库的操作。本文给大家介绍iOS sqlite对数据库的各种操作,需要的朋友参考下吧
    2016-03-03
  • iOS通过Runtime实现友盟统计的实例代码

    iOS通过Runtime实现友盟统计的实例代码

    本篇文章主要介绍了iOS通过Runtime实现友盟统计的实例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • iOS中实现图片自适应拉伸效果的方法

    iOS中实现图片自适应拉伸效果的方法

    图片拉伸在移动开发中特别常见,比如常用的即时通讯应用中的聊天气泡就需要根据文字长度对背景图片进行拉伸自适应。下面这篇文章主要给大家介绍了iOS中实现图片自适应拉伸效果的方法,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-03-03
  • 使用Xcode为iOS应用项目创建PCH文件的方法及应用示例

    使用Xcode为iOS应用项目创建PCH文件的方法及应用示例

    这篇文章主要介绍了使用Xcode为iOS应用项目创建PCH文件的方法及应用示例,PCH文件可以保留应用的很多的基础设置信息以供复用,需要的朋友可以参考下
    2016-03-03
  • IOS 代理方式实现实例详解

    IOS 代理方式实现实例详解

    这篇文章主要介绍了IOS 代理方式实现实例详解的相关资料,需要的朋友可以参考下
    2016-11-11
  • IOS微信端confirm以及alert去掉网址的实例代码

    IOS微信端confirm以及alert去掉网址的实例代码

    下面小编就为大家分享一篇IOS微信端confirm以及alert去掉网址的实例代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-01-01
  • IOS上iframe的滚动条失效的解决办法

    IOS上iframe的滚动条失效的解决办法

    这篇文章主要为大家详细介绍了IOS上iframe的滚动条失效的解决办法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-09-09
  • IOS9.0 LaunchScreen.StroyBoard自定义启动图片详解

    IOS9.0 LaunchScreen.StroyBoard自定义启动图片详解

    这篇文章主要介绍了IOS9.0 LaunchScreen.StroyBoard自定义启动图片详解的相关资料,需要的朋友可以参考下
    2017-02-02

最新评论