DateBase数据库中 怎么插入数组 怎么查找NSNumber型数据

// 创建表(绿色的变量为NSNumber型)
- (void)creattablePresent {
   
NSString *sqlStr = [NSString stringWithFormat:@"create table if not exists Present(number integer primary key autoincrement, name text, cover_image_url text, price text, favorites_count text, purchase_url text, descriptionI text, image_urls text)"];
   
int result = sqlite3_exec(dbPoint, sqlStr.UTF8String, NULL, NULL, NULL);
   
if (result == SQLITE_OK) {
       
NSLog(@"建表成功");
    }
else {
       
NSLog(@"建表失败");
    }
// 插入 包括数组的插入
- (void)insertModelPresent:(HotModel *)model {
// model.image_urls为数组

     NSData *data = [NSJSONSerialization dataWithJSONObject:model.image_urls options:NSJSONWritingPrettyPrinted error:nil];
   
NSString *strArr = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
   
   
NSString *sqlStr = [NSString stringWithFormat:@"insert into Present(name, cover_image_url, price, favorites_count, purchase_url, descriptionI, image_urls) values('%@', '%@', '%@', '%@', '%@', '%@', '%@')", model.name, model.cover_image_url, model.price, model.favorites_count, model.purchase_url, model.descriptionI, strArr];
   
int result = sqlite3_exec(dbPoint, sqlStr.UTF8String, NULL, NULL, NULL);
   
if (result == SQLITE_OK) {
       
NSLog(@"插入成功");
    }
else {
       
NSLog(@"插入失败"
);
    }

/// 查找 里面包括数组的查找和nsnumber的查找}
- (NSMutableArray *)searchModel {
   
NSString *sqlStr = [NSString stringWithFormat:@"select * from Present"];
   
sqlite3_stmt *stmt = nil;
   
int result = sqlite3_prepare_v2(dbPoint, sqlStr.UTF8String, -1, &stmt, NULL);
   
NSMutableArray *arr = [NSMutableArray array];
   
if (result == SQLITE_OK) {
       
while (sqlite3_step(stmt) == SQLITE_ROW) {
           
const unsigned char *name = sqlite3_column_text(stmt, 1);
           
const unsigned char *price = sqlite3_column_text(stmt, 3);
           
const unsigned char *cover_image_url = sqlite3_column_text(stmt, 2);
           
const unsigned char *favorites_count = sqlite3_column_text(stmt, 4);
           
const unsigned char *purchase_url = sqlite3_column_text(stmt, 5);
           
const unsigned char *descriptionI = sqlite3_column_text(stmt, 6);
           
const unsigned char *image_urls = sqlite3_column_text(stmt, 7);
//            TempModel *model = [[TempModel alloc] init];
           
HotModel *model =[[HotModel alloc] init];
            model.
name = [NSString stringWithUTF8String:(const char *)name];
           
NSString *pri = [NSString stringWithUTF8String:(const char *) price];
           
NSInteger pric = [pri integerValue];
            model.
price = [NSNumber numberWithInteger:pric];
            model.
cover_image_url = [NSString stringWithUTF8String:(const char *)cover_image_url];
           
NSString *fa = [NSString stringWithUTF8String:(const char *) favorites_count];
           
NSInteger fav = [fa integerValue];
            model.
favorites_count = [NSNumber numberWithInteger:fav];
            model.
purchase_url = [NSString stringWithUTF8String:(const char *)purchase_url];
            model.
descriptionI = [NSString stringWithUTF8String:(const char *)descriptionI];
           
NSString *strData = [NSString stringWithUTF8String:(const char *)image_urls];
           
NSData *dataArr = [strData dataUsingEncoding:NSUTF8StringEncoding];
           
NSMutableArray *array = [NSJSONSerialization JSONObjectWithData:dataArr options:NSJSONReadingMutableContainers error:nil];
            model.
image_urls = array;
           
            [arr
addObject:model];
           
           
            [model
release];
        }
       
    }
else {
       
NSLog(@"查找失败");
    }
   
return arr;
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值