2012-05-20 2 views
0

Я использую SKDatabase и использую SKDatabase API для доступа к нему.iOS - вставка словаря в SKDatabase

Я могу вставить словарь в таблицу в первый раз успешно, но во второй раз я столкнулся с проблемой.

Он переписывает первые значения снова и снова, не позволяя писать новые значения. Когда я вставляю несколько словарей через цикл.

Между тем, он позволяет использовать словарь для других таблиц, которые вставляют один словарь для таблицы.

Здесь я размещаю код.

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

Он печатает правильные значения в Консоли, но в базе данных он добавляет впервые введенные значения только вместо исходных значений.

Спасибо заранее.

+0

пожалуйста Почтовый индекс – Joel

+0

будет обновить свой код –

+0

вероятно, причина не для вашей конкретной проблемы, но вы НЕ ДОЛЖНЫ выпускать словарь. Вы освобождаете только те объекты, которые вы получили, отправив сообщение 'alloc',' new', 'keep' или' copy'. –

ответ

0

Может быть, вы забыли зарядить свой экземпляр БД

[[PBDB instance] chargeWithFileName:@"dbname.sqlitedb"]; 
0
* Create object in appdelegate.h 

    sk=[[SKDatabase alloc]init]; 
    NSString *[email protected]"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]]; 
Смежные вопросы