前端之家收集整理的这篇文章主要介绍了
处理sqlite中sql语句中的转义词,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
含有转义字符,如:‘;\n等,导致在sql语句中,执行不成功。
解决方案:需要将这些特殊在sql语句中进行处理,详见:http://www.sqlite.org/c3ref/mprintf.html
利用sqlite中的api即可:
sqlITE_API char *sqlite3_mprintf(const char*,...);
例如:
char *zsql = sqlite3_mprintf("insert or replace into MyAsk_table (username,qid,qtitle,replayFlag,status,qtime,updateFLag) values('%q','%q','YES')",[userName UTF8String],[qid UTF8String],[title UTF8String],[isSeeFlag UTF8String],[status UTF8String],[datetime UTF8String]);
char *errorMsg = nil;
if (sqlite3_exec(database,zsql,NULL,&errorMsg) != sqlITE_OK) {
//[self closeDatabase];
//return NO;
NSLog(@"insert sfail");
}
sqlite3_free(zsql);
原文链接:https://www.f2er.com/sqlite/201788.html