2014-12-26 4 views
-2

моего словаря выхода я IS-хочу стрелять команду вставки, чтобы вставить этот словарь данные в SQLite базы данныхкак сделать ключ/значение спаривания для NSDictionary

(
    { 
    iCardReceiverName = rp; 
    iCardSenderName = madhusudan; 
    isDeleted = 0; 
    isReceiverSynk = 0; 

}, 
    { 
    iCardReceiverName = rp; 
    iCardSenderName = mmmm; 
    isDeleted = 0; 
    isReceiverSynk = 0; 

} 

)

я хочу, чтобы вставить этот данных в базу данных sqlite.

вот мой код-

      NSDictionary *jsonData = [NSJSONSerialization 
                 JSONObjectWithData:urlData 
                options:NSJSONReadingMutableContainers 
                 error:&error]; 


      NSMutableString *query = [NSMutableString stringWithFormat:@"Insert into iCardUsers ("]; 
      [self.dbManager executeQuery:query]; 
      if (self.dbManager.affectedRows != 0) { 
       NSLog(@"Query was executed successfully. Affected rows = %d", self.dbManager.affectedRows); 
      } 
      else{ 
       NSLog(@"Could not execute the query."); 
      } 


      for (int i = 0; i<[[jsonData allKeys] count]; i++) 
      { 
       [query appendFormat:@"%@,",[[jsonData allKeys] objectAtIndex:i]]; 
      } 
      [query appendFormat:@")values ("]; 
      for (int i = 0; i<[[jsonData allKeys] count]; i++) 
      { 
       [query appendFormat:@"%@,",[jsonData valueForKey:[[jsonData allKeys] objectAtIndex:i]]]; 
      } 

      [query appendFormat:@");"]; 
      NSLog(@"qry : %@",query); 
+0

Что вы хотите сказать? – HAS

ответ

0

Вы можете вставить свои данные в БД SQLite, как в следующем примере. Вы можете создать функцию с требуемыми параметрами и вставить данные с помощью функции.

-(void)InsertRecords:(NSMutableString *)txt{ 

    NSString *dbPath = [[[NSBundle mainBundle] resourcePath ]stringByAppendingPathComponent:@"movieData.sqlite"]; 
    const char *dbpath = [dbPath UTF8String]; 
    sqlite3 *contactDB; 

    sqlite3_stmt *statement; 

    NSLog(@"%@",dbPath); 
    if (sqlite3_open(dbpath, &contactDB) == SQLITE_OK) 
    { 
     NSString *insertSQL = [NSString stringWithFormat: @"INSERT INTO myMovies (movieName) VALUES (\"%@\")", txt]; 

     const char *insert_stmt = [insertSQL UTF8String]; 

     sqlite3_prepare_v2(contactDB, insert_stmt, -1, &statement, NULL); 
     if (sqlite3_step(statement) == SQLITE_DONE) 
     { 
      sqlite3_bind_text(statement, 1, [txt UTF8String], -1, SQLITE_TRANSIENT); 
     } else { 
      NSLog(@"error"); 
     } 
     sqlite3_finalize(statement); 
     sqlite3_close(contactDB); 
    } 
} 
+0

На самом деле, моя проблема в том, что я хочу, чтобы для этого словаря данные были связаны только с ключом/значением. Я не могу этого сделать – user3675837

Смежные вопросы