0

我正在使用 SKDatabase 并使用 API 的 SKDatabase 来访问它。

我第一次能够成功地将字典插入表中,但是第二次之后我遇到了问题。

它一次又一次地重写第一个值,不允许写入新值,当我通过 for 循环插入多个字典时。

同时,它允许其他表的字典,这些表一直在为一个表插入一个字典。

我在这里放了一些代码。

for (int i = 0; i < [_contentArray count]; i++)
            {
                NSMutableDictionary *dictionary = [_contentArray objectAtIndex:i];
                [[PBDB instance].db insertDictionary:dictionary forTable:@"Daily"];
                NSLog(@"%@",dictionary);
            }

它在控制台中打印正确的值,但在数据库中它只添加第一次输入的值而不是原始值。

提前致谢。

4

3 回答 3

0

也许您忘记为您的数据库实例充电

[[PBDB instance] chargeWithFileName:@"dbname.sqlitedb"];
于 2012-10-29T14:51:45.810 回答
0

为 ios sdk 下载 skdatabese 文件

https://www.dropbox.com/s/zhw1x8mgyeatkvb/Skdatabase.zip?dl=0

于 2015-09-14T06:18:43.190 回答
0
* Create object in appdelegate.h

    sk=[[SKDatabase alloc]init];
    NSString *db=@"db_name.sqlite";
    [sk initWithDynamicFile:db];

#pragma mark *** insert data

 NSMutableDictionary *dict=[[NSMutableDictionary alloc]init];
            [dict setObject:_txt_fname.text forKey:@"first_name"];
            [dict setObject:_txt_email.text forKey:@"email"];
            [app.sk insertDictionary:dict 
forTable:@"table_name"];//insert data into Database

#pragma mark :::Select Query

    NSString *queryString = [NSString stringWithFormat:@"select rowid,* from register_table"];
    arr_name=(NSMutableArray *)[app.sk lookupAllForSQL:queryString];
    NSLog(@"%@",arr_name);


#pragma mark *** Update data

    NSMutableDictionary *dict=[[NSMutableDictionary alloc]init];
        [dict setObject:_txt_fname.text forKey:@"first_name"];
        [dict setObject:_txt_email.text forKey:@"email"];
        [app.sk updateDictionary:dict forTable:@"table_name" where:[NSString stringWithFormat:@"rowid=%@",row_id]];
于 2015-09-14T08:19:58.163 回答