Как вставить данные текстового поля в базу данных методом FMDB - PullRequest
0 голосов
/ 30 декабря 2011

У меня есть база данных с 5 столбцами .. Я должен обновить базу данных значениями, введенными в текстовые поля ..

-(void)insertData:(int)insGI:(NSString*)insVis:(NSString*)insp4p:(NSString*)insCM:(NSString*)insSC:(NSString*)insCEL
{

[db beginTransaction];

NSString *stringSQL = [NSString stringWithFormat:@"UPDATE CreateGoal SET Column1 = %@, Column2 = %@, Column3 = %@, Column4 = %@, Column5 = %@ WHERE rowid = %d ", insVis, insp4p, insCM, insSC, insCEL, insGI];
[db executeQuery:stringSQL];
[db commit];

}

обновить таблицу новыми значениями ..

-(IBAction)someaction:(id)sender

{

 sc = text1.text;

NSLog(@"\n \n \n SC = %@",sc);
printf("\n \n \n HHHHHHHHHHH");
p4p = text2.text;
vis = text3.text;
cm = text4.text;
cel = text5.text;
 [[DBManager getInstance]insertData:gid:vis:p4p:cm:sc:cel]; 

}

вызывая вот так .. Проблема в том, что значения не сохраняются в базе данных .. где я ошибся ?? Пожалуйста, помогите ..

СПАСИБО

1 Ответ

2 голосов
/ 09 января 2012

вы должны использовать executeUpdate для записи в fmdb.Кроме того, я настоятельно советую вам избегать stringWithFormat и использовать возможности синтаксического анализа fmdb, который может выполнять проверку типов во время выполнения.

[db executeUpdate:@"UPDATE CreateGoal SET Column1 = ?, Column2 = ?", value1, value2, nil]; //check as always the nil at the end

надеюсь, это поможет!

...