处理sqlite中sql语句中的转义词

来源:互联网 发布:中国象棋ai算法 html5 编辑:程序博客网 时间:2024/05/17 20:23

含有转义字符,如:‘;\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','%q','%q','%q','%q','YES')", [userName UTF8String], [qid UTF8String], [title UTF8String], [isSeeFlag UTF8String], [status UTF8String], [datetime UTF8String]);        char *errorMsg = nil;        if (sqlite3_exec(database, zSQL, NULL, NULL, &errorMsg) != SQLITE_OK) {            //[self closeDatabase];            //return NO;            NSLog(@"insert sfail");        }        sqlite3_free(zSQL);


原创粉丝点击