欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

iOS中SQLite的操作方法

程序员文章站 2023-12-02 18:12:40
今天终于花了点时间把之前项目中使用到的对sqlite操作的方法整理一下并上传到github上,下载地址:(https://github.com/peanutnote/qys...

今天终于花了点时间把之前项目中使用到的对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对数据库的各种操作,希望对大家有所帮助