如何编辑sqlite数据库

我创build了一个应用程序,在SQLite中存储来自NSDictionary数据。 这个NSDictionary从许多NSArray NSDictionary获取自己的信息并存储在SQLite数据库中 。 这是我的代码:

 - (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 * name是:

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

我如何编辑我的表SQLite数据库,并取代louisfredrick而不是fredfredrick ?)

第二 :如果在上面的代码中删除了一个或两个名字(例如NSArray * name是:

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

我如何删除logging删除的名称?)

非常感谢。

为此你可以使用UPDATE Query。

尝试像这样运行具有唯一标识值的循环并更新值。

 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"]];