1
我想用一個字符串中的單引號替換所有雙引號。我嘗試過使用stringByReplacingOccurrencesOfString
,但它不起作用。我如何使用單引號替換所有雙引號,以便我可以將其存儲到數據庫中?用單引號代替雙引號存儲在SQLite中
sqlite3_stmt *statement;
NSString *string = [NSString stringWithString:charDesc.text];
[string stringByReplacingOccurrencesOfString:@"\"" withString:@"''"];
if(sqlite3_open([databasePath UTF8String], &database) == SQLITE_OK){
NSString *insertSQL = [NSString stringWithFormat: @"UPDATE CHARACTER SET charName = \"%@\", charDescription = \"%@\" WHERE charID = %i", charName.text, charDesc.text, charID];
const char *insert_stmt = [insertSQL UTF8String];
sqlite3_prepare_v2(database, insert_stmt, -1, &statement, NULL);
if (sqlite3_step(statement) == SQLITE_DONE){
status.text = @"Succesfully Updated!";
}else{
status.text = @"Failed to Update!";
}
sqlite3_finalize(statement);
sqlite3_close(database);
}
你不知道。您準備語句,綁定變量並插入行。 – trojanfoe
的含義?如果沒有任何雙引號,我可以成功添加到我的數據庫中。但如果我有雙引號,我將無法添加 – icee
是的,你會的。如果你綁定了變量,而不是自己構造完整的語句,sqlite將負責任何需要的轉義。 – trojanfoe