iOS:如何插入特殊的,如;或';sqlite中的字符

iOS:如何插入特殊的,如;或';sqlite中的字符,ios,sqlite,Ios,Sqlite,我有一个NSString变量,其中包含一些字符“and”。 那个么,如何将其作为参数插入Sqlite3中的表中呢? 感谢您的帮助:)用两个引号转义引号。Doublequote不需要替换 '' 您可以将\字符放在NSString前面,用特殊字符初始化NSString。 例如: NSString *string = @"This is \" and this is \'"; 为避免格式问题,请使用参数将字符串传递到SQL语句中: NSString *str = @"some characters

我有一个NSString变量,其中包含一些字符“and”。 那个么,如何将其作为参数插入Sqlite3中的表中呢?
感谢您的帮助:)

用两个引号转义引号。Doublequote不需要替换

''

您可以将\字符放在NSString前面,用特殊字符初始化NSString。
例如:

NSString *string = @"This is \" and this is \'";

为避免格式问题,请使用参数将字符串传递到SQL语句中:

NSString *str = @"some characters \" and \'";
const char *sql = "INSERT INTO MyTable(Name) VALUES(?)";
sqlite3_stmt *stmt;
if (sqlite3_prepare_v2(db, sql, -1, &stmt, NULL) == SQLITE_OK) {
    sqlite3_bind_text(stmt, 1, [str UTF8String], -1, SQLITE_TRANSIENT);
    if (sqlite3_step(stmt) != SQLITE_DONE) {
        NSLog(@"SQL execution failed: %s", sqlite3_errmsg(db));
    }
} else {
    NSLog(@"SQL prepare failed: %s", sqlite3_errmsg(db));
}
sqlite3_finalize(stmt);

我会自动替换字符:

NSString *stringFromExternalDatabase = @"Capital of Chad is N'Djamena";
[stringFromExternalDatabase stringByReplacingOccurrencesOfString:@"'" withString:@"\'"];
然后将stringFromExternalDatabase放在一个表中

从数据库检索stringFromExternalDatabase时,执行其他操作:

[stringFromExternalDatabase stringByReplacingOccurrencesOfString:@"\'" withString:@"'"];

!哦,我的错。键入错误:(但是字符“or”在我的NSString变量中,如何将\放在前面?只有在直接在源代码中写入字符串时,才需要使用\进行转义(如我的示例中所示)。拥有NSString后,如果将其绑定为参数,则无需以任何方式对其进行修改。如果要使用包含特殊字符(如“and”@BraneDullet)的字符串更新数据库中的现有值,请使用update。