2013-05-02 4 views
-1

NSDictionary의 데이터를 저장하는 응용 프로그램을 SQLite에 만듭니다. 이 NSDictionaryNSArray에서 자신의 정보를 얻고 에 저장 SQLite DB. 이것은 내 코드입니다 :sqlite DB 편집 방법

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    int number = [self GetNumberOfRecord]; //this method get number of rows in sqlite 
    NSArray *idd = @[@"122", @"234", @"453", @"53464", @"4565", @"1111", @"2222"]; 
    NSArray *name = @[@"janatan", @"fred", @"john", @"cristiano", @"vein", @"emma", @"shyla"]; 
    NSArray *age = @[@"23", @"35", @"12", @"24", @"22", @"34", @"56"]; 
    NSArray *sex = @[@"male", @"male", @"male", @"male", @"male", @"famale", @"famale"]; 
    NSString *query2 = [NSString stringWithFormat:@"select * from table1 where name = '%@'", [name lastObject]]; 
    //NSLog(@"query : %@", query2); 
    BOOL recordExist = [self recordExistOrNot:query2]; 
    if (!recordExist) { 
     for (int i = number; i < [idd count]; i++) 
     { 
      NSString *a = [idd objectAtIndex:i]; 
      NSString *b = [name objectAtIndex:i]; 
      NSString *c = [age objectAtIndex:i]; 
      NSString *d = [sex objectAtIndex:i]; 
      NSString *query = [NSString stringWithFormat:@"insert into table1 (id, name, age, sex) values ('%@', '%@', '%@', '%@')", a, b, c, d]; 
      NSLog(@"%@", query); 
      [self executeQuery:query]; 
     } 
    } 
} 

두 가지를 원하지만 그것에 대해 아무 것도 발견하지 못했습니다.

먼저 : 위의 코드에서 하나 또는 두 개의 이름이 변경된 경우 (예 : NSArray *에 대한 이름이었다

{@"janatan", @"louis", @"john", @"fredrick", @"vein", @"emma", @"shyla"} 

내가 대신 louis & fredrickfred을 내 테이블 SQLite는 DB을 편집하고 대체 할 수있는 방법 & cristiano?)

2 번째 : 위의 코드에서 하나 또는 두 개의 이름이 제거 된 경우 (예 : NSArray *에 대한 이름이었다?

{@"janatan", @"john", @"vein", @"emma", @"shyla"} 

내가 삭제의 기록을 이름을 제거하는 방법)

덕분에 많이.

+0

데이터가 (당신이 여기 설명대로) 당신은 로컬 정적 API에서 (서버) 데이터를 얻을 방법이나 의미 동적 또는 정적? –

+0

json with API 서버 – fred

+0

제 친구가 API의 json에서이 데이터를 가져 와서 변경했습니다. – fred

답변

1

당신은 UPDATE 쿼리를 사용할 수 있습니다.

고유 한 식별 값을 가진 루프를 실행하고 값을 업데이트하십시오.

UPDATE table1 SET ContactName='newName' WHERE id=uniqu_id 

사용하십시오.

NSString *query = [NSString stringWithFormat:@"UPDATE table1 SET name='%@' WHERE id='%@' ,[dic objectForKey:@"name"],[dic objectForKey:@"id"]]; 

EDIT :

NSString *query = [NSString stringWithFormat:@"UPDATE table1 SET name='%@',age='%@' WHERE id='%@' ,[dic objectForKey:@"name"],[dic objectForKey:@"age"],[dic objectForKey:@"id"]]; 
+0

내 친구가이 쿼리에 메서드가 없습니다 ??? (그것에 쿼리를 보내는 방법) – fred

+0

이 쿼리를 사용할 때 무슨 일이 생길까요? – Balu

+0

아직 사용하지는 않지만이 Query to Specified 메서드를 보낼 필요가 없다고 말합니까? – fred