How to insert string that contains " character in sqlite ios

扶醉桌前 提交于 2019-12-08 10:42:00

问题


i am using following code but sqlite giving me error

 NSArray* a = [NSArray arrayWithObjects:
              @"\""
              @"\\ \"",
              nil];
quantity=[quantity stringByReplacingOccurrencesOfString:[a objectAtIndex:0 ] withString:[a objectAtIndex:1]];
queryString = [NSString stringWithFormat:@"INSERT INTO SHOPINGLIST (QUANTITY) VALUES (\"%@\")",quantity];

it gives error that:- near "diax1": syntax error in query INSERT INTO SHOPINGLIST original quantity is =1 slice,medium(4-1/2"diax1/8"thick)


回答1:


To insert special characters in SQLite in iOS, use placeholders like (also please check which special characters are allowed in Sqlite):

queryString = @"INSERT INTO SHOPINGLIST (QUANTITY) VALUES (?)";
sqlite3_stmt *compiledStatement;
    if(sqlite3_prepare_v2(database, queryString, -1, &compiledStatement, NULL) == SQLITE_OK) {
        sqlite3_bind_text(compiledStatement, 1, [quantity UTF8String], -1, SQLITE_TRANSIENT);
  // Use sqlite3_bind_text for string values. For other type of values, check sqlite documentation.
 // .... And So on.

    }



回答2:


for double value, use this:-

sqlite3_bind_double(compiledStatement, 1, [quantity UTF8String], -1, SQLITE_TRANSIENT);


来源:https://stackoverflow.com/questions/23267347/how-to-insert-string-that-contains-character-in-sqlite-ios

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!