ファイルData.m
-(void)update:(NSMutableDictionary *)materia {
if (sqlite3_open([pathDB UTF8String], &database) == SQLITE_OK) {
// query per l'inserimento di una nuova materia
NSString *query = [NSString stringWithFormat:@"UPDATE libretto SET Nome='%@',Voto='%@',CFU='%@' WHERE CFU='6'",[materia objectForKey:@"Nome" ],[materia objectForKey:@"Voto"],[materia objectForKey:@"CFU"]];
const char *sql = [query UTF8String];
sqlite3_stmt *insert_statement;
// eseguiamo la query
if(sqlite3_prepare_v2(database, sql, -1, &insert_statement, NULL) == SQLITE_OK) {
if(sqlite3_step(insert_statement) == SQLITE_DONE) {
// ricarichiamo la lista
[self caricaValori];
}
}
// chiudiamo il db
sqlite3_finalize(insert_statement);
}
sqlite3_close(database);
}
ファイルviewcontroller.m
file.mに追加しました
-(IBAction)update:(id)sender {
_nome=[[Data alloc]init];
_cell=[[MasterViewController alloc]init];
if(_cell.indexpath2.row==0 ) {
if([fieldNome.text isEqualToString:_nome.nome]){
// creiamo un dizionario con i valori
NSMutableDictionary *materia = [[NSMutableDictionary alloc] initWithObjectsAndKeys:fieldNome.text, @"Nome", fieldCFU.text, @"CFU",fieldVoto.text,@"Voto", nil];
//inseriamolo nel db
[dataList update:materia];
// torniamo alla lista
[self.navigationController popViewControllerAnimated:YES];
}
}
}
テーブルの最初のフィールドのみを更新するという問題。
テーブルに名前を追加すると、どのフィールドでもアップグレードしません
どうすれば修正できますか?