-1

SQLiteNSDictionaryからデータを保存する 1 つのアプリケーションを作成します。これは多くの情報から独自の情報を取得し、 SQLite DBに保存します。これは私のコードです:NSDictionaryNSArray

- (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];
        }
    }
}

私は2つのことが欲しいのですが、それについて何も見つかりませんでした。

最初: 上記のコードで名前の 1 つまたは 2 つが変更された場合 (たとえば、NSArray*name は:

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

テーブルSQLite DBlouisを編集して&のfredrick代わりにfred&を置き換えるにはどうすればよいcristianoですか?)

2 番目: 上記のコードで 1 つまたは 2 つの名前が削除された場合 (たとえば、NSArray*name は:

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

どうすれば削除できますか? 削除された名前を記録しますか?)

どうもありがとう。

4

1 に答える 1

1

そのためには、UPDATE クエリを使用できます。

このように一意の識別値を使用して for ループを実行し、値を更新してみてください。

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"]];
于 2013-05-02T06:05:57.193 に答える