db.execSQL("INSERT OR REPLACE INTO 'sms' (sms_id,text) VALUES (10,'__[ ]__|"?___'-@------@- '');");
在sqlite上运行它并向我显示这一行:
SQLiteManager: Likely SQL syntax error: INSERT INTO 'sms' (sms_id,text) VALUES (10,'__[ ]__|"?___'-@------@- ''); [ unrecognized token: "@" ]
Exception Name: NS_ERROR_FAILURE
Exception Message: Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [mozIStorageConnection.createStatement]
我需要一个代码来插入带有任何符号的任何文本
答案 0 :(得分:3)
您好我认为您应该在SQLite中使用双引号''
查看转义引号
Sqlite FAQ Site - Escaping quotes
所以在你的情况下:
INSERT INTO 'sms' (sms_id,text) VALUES (10,'__[ ]__|"?___''-@------@- '');
答案 1 :(得分:0)
通常有包装函数,如
sql_execute('INSERT INTO `table`(a,b,c) VALUES (?,?,?)',1,2,3);
并且那些?
个问号会引用引号以及获取数据所需的任何其他内容。
不确定Android,但在大多数编程框架中都是如此。