gpt4 book ai didi

ios - 如何使用iOS在sqlite中存储双引号

转载 作者:可可西里 更新时间:2023-11-01 06:24:32 25 4
gpt4 key购买 nike

我使用 sqlite 数据库在离线模式下存储值。在这些值中,它包含带双引号的字符串。(例如:hai "Man")

NSString* insertSQL = [NSString stringWithFormat: @"UPDATE tablename SET SummaryDescription=\"%@\" WHERE SummaryDate1=\"%@\" AND ClientId=\"%@\"",SummaryDescription,[_dic objectForKey:@"SummaryDate1"],[[NSUserDefaults standardUserDefaults]objectForKey:@"ClientID"]];

[db updateTable:insertSQL];

在 SummaryDescription 中包含值 hai "Man"。但我无法将此数据存储到数据库中。 如果我们去掉这个双引号我们就可以存储这些数据。有没有其他方法可以存储这些类型的双引号字符串。

最佳答案

要存储双引号或任何其他特殊字符,请使用参数将字符串传递到 SQL 语句 (as suggested by CL in this answer):

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);

希望对您有所帮助。快乐编码:)

关于ios - 如何使用iOS在sqlite中存储双引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24887000/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com